用java解决一个二维数组中小组一个各科平均成绩和总成绩的平均值
时间: 2024-09-25 17:12:19 浏览: 12
在Java中,我们可以创建一个二维数组来存储每个小组学生的各科成绩,并计算每组的平均成绩和总成绩。这里是一个简单的示例:
首先,假设我们有一个二维数组`studentGrades`,它包含每个小组学生各科的成绩,比如每个元素表示`[语文, 数学, 英语]`的一行数据。每个小组的数据会被放在一个独立的列表里。
```java
int[][] studentGrades = {
{85, 90, 92}, // 小组1成员1的成绩
{78, 86, 94}, // 小组1成员2的成绩
... // 更多小组和成员的成绩
{...}, // 小组n成员1的成绩
};
List<List<Integer>> groups = Arrays.stream(studentGrades).collect(Collectors.groupingBy(Arrays.asList)); // 按照科目分组
double groupAverageScore;
double totalGroupScore;
for (Map<String, List<Integer>> group : groups) {
int sum = 0;
for (Integer score : group.values()) {
sum += score; // 计算总成绩
}
groupAverageScore = (double) sum / group.size(); // 计算平均成绩
System.out.println("小组 " + group.keySet() + " 的平均成绩是:" + groupAverageScore);
totalGroupScore += sum; // 统计所有小组的总成绩
}
// 所有小组的总成绩
totalGroupScore /= groups.size();
System.out.println("所有小组的总成绩平均值是:" + totalGroupScore);