二维数组的初始化和遍历等
通过二维数组计算若干个班级若干个学生的平均分。
public class Main {
public static void main(String[] args) {
// 使用二维数组计算若个个个班学生的平均分
// 先输入有多少个班,在分别输入每个班中每个人的分数,最后计算平均分(成绩类型为int)
Scanner in = new Scanner(System.in);
// 确定班级个数
System.out.print("你们总共有几个班?");
int classCount = in.nextInt();
// 创建二维数组
int[][] arr = new int[classCount][];
// 输入每个班有多少人
for (int i = 0; i < arr.length; i++) {
System.out.format("第%d个班有多少人?", i + 1);
int peopleNum = in.nextInt();
arr[i] = new int[peopleNum];
}
// 遍历二维数组的每一个元素,并对其进行初始化(输入每个同学的成绩)
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.format("第%d个班的第%d个学生的成绩为:", i + 1, j + 1);
arr[i][j] = in.nextInt();
}
}
// 输出二维数组中的每个元素查看一下效果
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
}
// 开始计算总成绩
// 首先定义一个总成绩变量和一个总人数变量
int sum = 0;
int totalPeople = 0;
// 遍历二维数组并刷新总成绩
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
sum += arr[i][j];
totalPeople += 1;
}
}
// 计算平均数并输出
double average = sum / totalPeople;
System.out.printf("%d个班的平均成绩为:%.2f。",classCount, average);
}