使用Java语言使用ArrayList保存学生考试成绩: 小红 89 67 88 小名 88 74 78 小美 66 55 97 小强 77 88 88 小帅 99 87 64 输入学生姓名,打印出对应学生的各项成绩
时间: 2024-02-10 16:03:23 浏览: 36
可以使用一个ArrayList来保存学生信息,每个学生信息可以使用一个HashMap来表示,其中键为学生姓名,值为该学生的成绩列表,代码如下:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<HashMap<String, ArrayList<Integer>>> students = new ArrayList<>();
HashMap<String, ArrayList<Integer>> student1 = new HashMap<>();
student1.put("小红", new ArrayList<Integer>() {{
add(89);
add(67);
add(88);
}});
students.add(student1);
HashMap<String, ArrayList<Integer>> student2 = new HashMap<>();
student2.put("小名", new ArrayList<Integer>() {{
add(88);
add(74);
add(78);
}});
students.add(student2);
HashMap<String, ArrayList<Integer>> student3 = new HashMap<>();
student3.put("小美", new ArrayList<Integer>() {{
add(66);
add(55);
add(97);
}});
students.add(student3);
HashMap<String, ArrayList<Integer>> student4 = new HashMap<>();
student4.put("小强", new ArrayList<Integer>() {{
add(77);
add(88);
add(88);
}});
students.add(student4);
HashMap<String, ArrayList<Integer>> student5 = new HashMap<>();
student5.put("小帅", new ArrayList<Integer>() {{
add(99);
add(87);
add(64);
}});
students.add(student5);
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.nextLine();
for (HashMap<String, ArrayList<Integer>> student : students) {
if (student.containsKey(name)) {
ArrayList<Integer> scores = student.get(name);
System.out.printf("%s的成绩为:%d %d %d\n", name, scores.get(0), scores.get(1), scores.get(2));
return;
}
}
System.out.println("未找到该学生!");
}
}
```
上面的代码中,我们首先定义了一个ArrayList来保存所有学生的信息,然后为每个学生创建一个HashMap来保存其成绩信息,最后将每个学生的HashMap加入到ArrayList中。
在程序运行时,我们首先通过Scanner获取用户输入的学生姓名,然后遍历所有学生的HashMap,如果找到了对应学生的信息,就打印出该学生的各项成绩。如果没有找到该学生,就输出提示信息。