java输入10个学生5门课的成绩,写两个方法,分别求每个学生的平均分以及每门课的平均分
时间: 2024-03-25 08:35:36 浏览: 204
好的,下面是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[][] scores = new int[10][5];
Scanner scanner = new Scanner(System.in);
// 输入成绩
for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的成绩:");
for (int j = 0; j < scores[i].length; j++) {
System.out.print("请输入第" + (j + 1) + "门课的成绩:");
scores[i][j] = scanner.nextInt();
}
}
// 求每个学生的平均分
double[] studentAvg = getStudentAvg(scores);
System.out.println("每个学生的平均分为:");
for (int i = 0; i < studentAvg.length; i++) {
System.out.println("第" + (i + 1) + "个学生的平均分为:" + studentAvg[i]);
}
// 求每门课的平均分
double[] courseAvg = getCourseAvg(scores);
System.out.println("每门课的平均分为:");
for (int i = 0; i < courseAvg.length; i++) {
System.out.println("第" + (i + 1) + "门课的平均分为:" + courseAvg[i]);
}
}
// 求每个学生的平均分
public static double[] getStudentAvg(int[][] scores) {
double[] studentAvg = new double[scores.length];
for (int i = 0; i < scores.length; i++) {
int sum = 0;
for (int j = 0; j < scores[i].length; j++) {
sum += scores[i][j];
}
studentAvg[i] = (double) sum / scores[i].length;
}
return studentAvg;
}
// 求每门课的平均分
public static double[] getCourseAvg(int[][] scores) {
double[] courseAvg = new double[scores[0].length];
for (int i = 0; i < scores[0].length; i++) {
int sum = 0;
for (int j = 0; j < scores.length; j++) {
sum += scores[j][i];
}
courseAvg[i] = (double) sum / scores.length;
}
return courseAvg;
}
}
```
在上面的代码中,我们先定义了一个二维数组 `scores` 用于存储学生的成绩。然后使用 `Scanner` 类获取用户输入的成绩,并将其存储到二维数组中。
接着,我们定义了两个方法 `getStudentAvg` 和 `getCourseAvg`,分别用于求每个学生的平均分以及每门课的平均分。这两个方法都是通过两重循环遍历二维数组,分别计算每个学生的总成绩和每门课的总成绩,最后除以相应的数量得到平均分。
最后,我们在 `main` 方法中调用这两个方法,并将结果输出到控制台。
阅读全文