㈠ java編程:輸入某個班學生的成績,輸入-1時,表示輸入結束。計算該班的學生人數、最高分、最低分和平均分
1、題目描述:
/*java編程:輸入某個班學生的成績,輸入-1時,表示輸入結束。計算該班的學生人數、最高分、最低分和平均分*/
分析:
根據題目可知,①需要連續輸入數據,並將連續輸入的數據保存,②記錄輸入的數據個數③需要有輸入數據內容判斷,如果輸入-1則停止輸入,執行計算。
2、代碼如下
publicstaticvoidmain(String[]args){
ArrayList<Float>gList=newArrayList<>();//定義浮點型動態數組,用作記錄成績,也可以取數組長度作為人數
Scannerinput=newScanner(System.in);
floatgrade=0;
for(;grade!=-1;){//當輸入-1時結束
System.out.println("請輸入學生成績(-1結束輸入):");
grade=input.nextFloat();
if(grade!=-1){//避免最後一次錄入-1
gList.add(grade);
}
}
//當輸入-1時停止記錄數據
//求最高分
//最低分
floatmax=0,sum=0,aveg=0;
floatmin=gList.get(0);//取第一項作為最低分初始值
for(inti=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、運行效果