7-2 sdust-Java-学生成绩读取与排序
时间: 2024-01-04 09:02:35 浏览: 34
这道题的主要思路是读取学生的成绩信息,存储到一个数组中,然后根据学生成绩排序并输出。
以下是一个可能的解法:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 学生个数
int[][] students = new int[n][2]; // 二维数组,存储学生的成绩信息
// 读取学生信息
for (int i = 0; i < n; i++) {
students[i][0] = scanner.nextInt(); // 学号
students[i][1] = scanner.nextInt(); // 成绩
}
// 根据成绩排序
Arrays.sort(students, (a, b) -> b[1] - a[1]);
// 输出排序后的学生信息
for (int i = 0; i < n; i++) {
System.out.println(students[i][0] + " " + students[i][1]);
}
}
}
```
该程序首先读取学生个数 `n`,然后创建一个二维数组 `students`,用来存储学生的成绩信息。接下来,使用 for 循环读取每个学生的信息,并将其存储到 `students` 数组中。然后,使用 `Arrays.sort()` 方法对 `students` 数组进行排序,排序规则是按照学生成绩从高到低排序。最后,使用 for 循环遍历 `students` 数组,并输出学生的信息。