使用if语句、while语句等基本语言要素设计一个Java程序,帮助教师进行试卷分析。该程序必须能:
1 从键盘接受一系列成绩
2 计算平均分
3 确定最高和最低分
4 显示平均、最高、最低分
5 确定每个分数档(每10分为一档,不及格为一档)的人数和百分比
6 显示每个分数档的人数和百分比
希望哪位大虾尽快给出答案
回答即可得分
采纳再追加20分
參考答案:import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;
public class ScoreHelper
{
public static void main(String[] args)
{
int num = 1;
int average;
int sum = 0;
String s;
int count = 1;
int maxScore = 0, minScore = 0;
int scorePass = 0, score_60 = 0, score_70 = 0, score_80 = 0, score_90 = 0;
Vector v = new Vector(10);
// ===================输入数据===================
BufferedReader din = new BufferedReader(
new InputStreamReader(System.in));
try
{
System.out.println("输入任意<=0的数字开始统计");
while (num > 0)
{
System.out.println("请输入第" + count + "条成绩:");
s = din.readLine();
try
{
num = Integer.parseInt(s);
}
catch (Exception e)
{
continue;
}
++count;
if (num > 0)
{
v.addElement(num);
}
}
}
catch (IOException e)
{
System.out.println(e);
}
// =============数据处理==============
maxScore = minScore = ((Integer) v.elementAt(0)).intValue();
int x;
for (int i = 0; i < v.size(); ++i)
{
x = ((Integer) v.elementAt(i)).intValue();
sum += x;
if (x > maxScore)
{
maxScore = x;
}
else if (x < minScore)
{
minScore = x;
}
if (x < 60)
{
++scorePass;
}
else if (x <= 70)
{
++score_60;
}
else if (x <= 80)
{
++score_70;
}
else if (x <= 90)
{
++score_80;
}
else
{
++score_90;
}
}
average = sum / v.size();
// ============数据输出============
System.out.println(v.size() + "条成绩的平均分:" + average);
System.out.println("最高分:" + maxScore);
System.out.println("最低分:" + minScore);
System.out.println("----------------------分数段统计--------------------");
System.out.println("不及格: " + scorePass + "人 " + scorePass * 100 / v.size() + "%");
System.out.println("60-70: " + score_60 + "人 " + score_60 * 100 / v.size() + "%");
System.out.println("70-80: " + score_70 + "人 " + score_70 * 100 / v.size() + "%");
System.out.println("80-90: " + score_80 + "人 " + score_80 * 100 / v.size() + "%");
System.out.println(" >90: " + score_90 + "人 " + score_90 * 100 / v.size() + "%");
}
}