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、运行效果