Java写这个:输入多个学生的成绩信息,包括:学号、姓名、成绩。 学号是每个学生的唯一识别号,互不相同。 姓名可能会存在重复。 要求:使用HashMap存储学生信息。 输入格式: 输入多个学生的成绩信息,每个学生的成绩信息格式:学号+英文空格+姓名+英文空格+成绩 以“end”为输入结束标志 输出格式: 按学号从大到小的顺序输出所有学生信息,每个学生信息的输出格式:学号+英文空格+姓名+英文空格+成绩 输入样例: 在这里给出一组输入。例如: 20201124 张少军 83 20201136 李四 78 20201118 郑觉先 80 end 输出样例: 在这里给出相应的输出。例如: 20201136 李四 78 20201124 张少军 83 20201118 郑觉先 80
时间: 2024-03-14 08:44:22 浏览: 268
好的,以下是Java代码实现:
```java
import java.util.HashMap;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashMap<String, String[]> map = new HashMap<>();
while (sc.hasNextLine()) {
String input = sc.nextLine();
if (input.equals("end")) {
break;
}
String[] student = input.split(" ");
map.put(student[0], new String[]{student[1], student[2]});
}
TreeMap<String, String[]> sortedMap = new TreeMap<>((o1, o2) -> o2.compareTo(o1));
sortedMap.putAll(map);
for (String id : sortedMap.keySet()) {
String[] studentInfo = sortedMap.get(id);
System.out.println(id + " " + studentInfo[0] + " " + studentInfo[1]);
}
}
}
```
以上代码先使用Scanner读取输入的学生信息,将学号作为key,姓名和成绩作为value存储在HashMap中。之后将HashMap中的数据按学号从大到小的顺序存储在TreeMap中,最后遍历TreeMap输出所有学生信息。
阅读全文