java输入一个班所有同学的成绩,求最高分,最低分,平均?

如题所述

1、题目描述:

/*java编程:输入某个班学生的成绩,输入-1时,表示输入结束。计算该班的学生人数、最高分、最低分和平均分*/

分析:

根据题目可知,①需要连续输入数据,并将连续输入的数据保存,②记录输入的数据个数③需要有输入数据内容判断,如果输入-1则停止输入,执行计算。

2、代码如下


public static void main(String[] args) {

ArrayList<Float> gList=new ArrayList<>();//定义浮点型动态数组,用作记录成绩,也可以取数组长度作为人数
Scanner input =new Scanner(System.in);
float grade=0;
 for ( ;grade!=-1;  ) {//当输入-1时结束
 System.out.println("请输入学生成绩(-1结束输入):");
 grade=input.nextFloat();
 if (grade!=-1) {//避免最后一次录入-1
 gList.add(grade);
}

}
//当输入-1时停止记录数据
 
 
//求最高分
//最低分
float max=0,sum=0,aveg=0;
float min=gList.get(0);//取第一项作为最低分初始值
for (int i = 0; i < gList.size(); i++) {

if (max<gList.get(i)) {
max=gList.get(i);
}
if (min>gList.get(i)) {
min=gList.get(i);
}
sum+=gList.get(i);//求总分
}

//平均分
aveg=sum/gList.size();
System.out.println("共有 "+gList.size()+"人,"+"最高分:"+max
+",最低分:"+min+",平均分:"+aveg);

}

3、运行效果


温馨提示:答案为网友推荐,仅供参考
相似回答