输入多个学生的成绩信息,包括:学号、姓名、成绩。要用hashMap检索怎么实现啊
时间: 2024-03-12 11:49:50 浏览: 93
首先,定义一个包含学号、姓名和成绩的学生类(例如:Student),然后创建一个 HashMap 对象用来存储学生信息,学号作为 HashMap 的键,学生对象作为值。接着,可以通过 Scanner 类从控制台输入学生信息,并将其存储到 HashMap 中。最后,可以通过输入学号来检索学生信息,从而实现按照学号检索学生的功能。以下是示例代码:
```java
import java.util.HashMap;
import java.util.Scanner;
public class Student {
private String id; // 学号
private String name; // 姓名
private int score; // 成绩
public Student(String id, String name, int score) {
this.id = id;
this.name = name;
this.score = score;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
public static void main(String[] args) {
HashMap<String, Student> map = new HashMap<String, Student>();
Scanner scanner = new Scanner(System.in);
// 循环输入学生信息
while (true) {
System.out.print("请输入学生信息(学号 姓名 成绩):");
String id = scanner.next();
String name = scanner.next();
int score = scanner.nextInt();
Student student = new Student(id, name, score);
map.put(id, student);
System.out.print("是否继续输入(Y/N):");
String choice = scanner.next();
if (choice.equalsIgnoreCase("N")) {
break;
}
}
// 检索学生信息
System.out.print("请输入要检索的学生学号:");
String id = scanner.next();
Student student = map.get(id);
if (student != null) {
System.out.println("姓名:" + student.getName() + ",成绩:" + student.getScore());
} else {
System.out.println("未找到该学生信息!");
}
}
}
```
注意,为了方便起见,上述代码没有进行输入的合法性检查。在实际应用中,应该对输入数据进行适当的验证和处理。
阅读全文