13.实现一个程序,使用HashMap存储学生姓名和对应的分数,并能够根据姓名查询分数。
以下是一个简单的Java程序,它使用HashMap来存储学生姓名和对应的分数,并允许根据姓名查询分数。
java复制代码
import java.util.HashMap; | |
import java.util.Scanner; | |
public class StudentScores { | |
private HashMap<String, Integer> scores; | |
public StudentScores() { | |
this.scores = new HashMap<>(); | |
} | |
public void addScore(String name, int score) { | |
scores.put(name, score); | |
} | |
public Integer getScore(String name) { | |
return scores.get(name); | |
} | |
public static void main(String[] args) { | |
StudentScores studentScores = new StudentScores(); | |
Scanner scanner = new Scanner(System.in); | |
while (true) { | |
System.out.println("请选择操作:"); | |
System.out.println("1. 添加学生分数"); | |
System.out.println("2. 查询学生分数"); | |
System.out.println("3. 退出程序"); | |
int option = scanner.nextInt(); | |
switch (option) { | |
case 1: | |
System.out.println("请输入学生姓名:"); | |
String name = scanner.next(); | |
System.out.println("请输入学生分数:"); | |
int score = scanner.nextInt(); | |
studentScores.addScore(name, score); | |
System.out.println("学生分数已添加。"); | |
break; | |
case 2: | |
System.out.println("请输入要查询的学生姓名:"); | |
name = scanner.next(); | |
Integer studentScore = studentScores.getScore(name); | |
if (studentScore != null) { | |
System.out.println("学生 " + name + " 的分数是 " + studentScore); | |
} else { | |
System.out.println("未找到学生 " + name + " 的分数。"); | |
} | |
break; | |
case 3: | |
System.out.println("程序已退出。"); | |
scanner.close(); | |
return; | |
default: | |
System.out.println("无效的操作选项,请重新选择。"); | |
} | |
} | |
} | |
} |
这个程序首先创建了一个StudentScores
类,它包含一个HashMap
用于存储学生姓名和分数。addScore
方法用于添加学生分数,getScore
方法用于查询学生分数。
在main
方法中,我们使用一个Scanner
对象从用户那里获取输入。然后,我们进入一个无限循环,让用户选择操作:添加学生分数、查询学生分数或退出程序。根据用户的选择,我们调用相应的StudentScores
类的方法来执行操作,并显示相应的结果。
请注意,这只是一个简单的示例程序,用于演示如何使用HashMap来存储和查询学生分数。在实际应用中,您可能需要处理更复杂的情况,例如错误处理、输入验证、数据持久化等。