怎么去定义每个班的人数?,然后第一个班3个学生的成绩然后统计出第一个班的平均分
问题:
有三个班级,第一个班级3个学生,第二个班级4个学生,第三个班级5个学生。
要求通过键盘录入三个班级学生的成绩,并计算每个班级学生的的平均成绩和三个班级学生的总均成绩。
代码参考如下:
public static void main(String[] args) {
// List存储3个班级
List<int[]> arr = new ArrayList<>();
arr.add(new int[3]); // 3个学生班级
arr.add(new int[4]); // 4个学生班级
arr.add(new int[5]); // 5个学生班级
Scanner sc = new Scanner(System.in);
// 成绩录入
for (int i = 0; i < arr.size(); i++) {
int[] cls = arr.get(i);
for (int j = 0; j < cls.length; j++) {
System.out.println("请输入第" + (i + 1) + "个班级的第" + (j + 1) + "个学生成绩:");
cls[j] = sc.nextInt();
}
}
// 计算平均分
for (int i = 0; i < arr.size(); i++) {
double sum = 0;
int[] cls = arr.get(i);
for (int j = 0; j < cls.length; j++) {
sum += cls[j];
}
System.out.println("请输入第" + (i + 1) + "个班级的平均分为:" + (sum / cls.length));
}
}
public static void main(String[] args) {
// 0.创建一个二维数组
double[][] arr = new double[3][];
arr[0] = new double[3];
arr[1] = new double[4];
arr[2] = new double[5];
// 1.把录入的学生成绩保存在数组中
Scanner input = new Scanner(System.in);
for(int i = 0; i < arr.length; i++) { // 班级
for(int j = 0; j < arr[i].length; j++) { // 每个班级的学生
System.out.print("请输入第" + (i + 1) + "个班级,第" + (j + 1) + "个学生的成绩:");
arr[i][j] = input.nextDouble();
}
}
// 2.计算每个班级学生的的平均成绩和三个班级学生的总均成绩。
double allClassSum = 0; // 用于保存三个班级的总成绩
int num = 0; // 用于保存学生的人数
for(int i = 0; i < arr.length; i++) {
// 定义一个变量,用于保存第i个班级的总成绩
double sum = 0;
for(int j = 0; j < arr[i].length; j++) {
sum += arr[i][j];
num++;
}
allClassSum += sum; // 累加每个班级的总成绩
System.out.println("第" + (i + 1) + "个班级的平均成绩为:" + sum/arr[i].length);
}
System.out.println("三个班级学生的总均成绩为:" + allClassSum/num);
for(double[] classArr : arr) {
System.out.println(Arrays.toString(classArr));
}
}