需求:已知有3个班级各5名学员,请使用二维数组动态录入所有学员成绩,并计算各个班级的平均成绩,最好成绩和最差成绩。依次输出,平均成绩最好的班,三个班所有学员中成绩最高的分数,最差的分数。
private static void fun5() {
double [][] score=new double[3][];
Scanner sc=new Scanner(System.in);
score[0]=new double[5];
score[1]=new double[5];
score[2]=new double[5];
double [] avg=new double [3]; //存储每个班平均成绩
double [] max=new double [3]; //存储每个班最高成绩
double [] min=new double [3]; //存储每个班最低成绩
for(int i=0;i<score.length;i++){
double sum=0; //记录每个班总成绩
double Max=0,Min=100;
for(int j=0;j<score[i].length;j++){
System.out.println("请输入第"+(i+1)+"班,第"+(j+1)+"名同学的分数:");
score[i][j] = sc.nextDouble(); //用数组接数据
sum+=score[i][j];
if(score[i][j]>Max){
Max=score[i][j];
}
if(score[i][j]<Min){
Min=score[i][j];
}
}
/* Arrays.sort(score);
System.out.println(Arrays.toString(score));
Max=score.length;
Min=double() score[0];*/
avg[i]=sum/5; //每个班的平均成绩
max[i]=Max;
min[i]=Min;
}
double max_avg=avg[0];
int index=0;
for(int i=0;i<avg.length;i++){
if(avg[i]>max_avg){
max_avg=avg[i];
index=i;
break;
}
}
System.out.println("平均成绩最大值是:"+max_avg+",位于"+(index+1)+"班");
Arrays.sort(max);
Arrays.sort(min);
System.out.println("三个班中最好的成绩:"+max[max.length-1]);
System.out.println("三个班中最差的成绩:"+min[0]);
}