某年级三个班的Java考试成绩如下表所示,请采用二维数组保存这些数据
1班 | 99 | 68 | 97 | ||
2班 | 89 | 95 | 88 | 59 | 64 |
3班 | 89 | 79 | 99 | 58 | |
4班 | 59 | 79 | 85 | 63 | 72 |
分析:创建一个二维数组,存储各班级java成绩,
(1)全年级Java的平均分;
各个成绩相加,除以人数,求得全年级Java的平均分;
(2)每个班的平均分
以班级为单位依次求出各个班级的Java平均分,设置两次循环,遍历各个班级,当两次循环结果相同时,则为同一个班级,进行平均分的计算
// (1)全年级Java的平均分
public class Demo2 {
public static void main(String[] args) {
int [][] arr ={{99,68,97},{89,95,88,59,64},{89,79,99,58},{59,79,85,63,72}}; //创建数组,分别为四个班级及成绩;
double sum = 0; //定义变量,存储该年纪java成绩之和;
int count = 0; //定义变量,用于统计学生个数;
//外层循环,遍历各个班级;
for(int i = 0; i < arr.length; i++){
int [] row = arr[i];
//内层循环,遍历各个班级同学的成绩
for(int j = 0; j < row.length; j++){
count += 1; //循环一次,人数加一
sum += row[j]; //成绩累加
}
}
System.out.println("全年级Java的平均分为:" +sum/count ); //输出全年级Java的平均分
}
}
// (2)每个班的平均分。
class Demo2_1{
public static void main(String[] args) {
int [][] arr ={{99,68,97},{89,95,88,59,64},{89,79,99,58},{59,79,85,63,72}};
double sum = 0; //定义变量,存储该年纪java成绩之和;
int count = 0; //定义变量,用于统计学生个数;
//第一次循环,遍历各个班级
for(int i = 0; i < arr.length; i++){
//第二次循环,遍历各个班级同学的成绩
for(int j = 0; j < arr[i].length; j++){
//第三次循环,遍历各个班级
for(int x = 0;x < arr.length; x++){
if(j == x){ //当第一次循环结果与第三此循环结果相同时,则为同一个班级
count += 1; //循环一次,人数加一
sum += arr[i][j]; //成绩累加
}
}
}
System.out.println(i+1 + "班的平均分为:" + sum/count); //分别输出各个班级的Java的平均分
}
}
}