JAVA 100道题(13)

13.实现一个程序,使用HashMap存储学生姓名和对应的分数,并能够根据姓名查询分数。

下面是一个简单的Java程序,使用HashMap存储学生姓名和对应的分数,并能够根据姓名查询分数。

 

java复制代码

import java.util.HashMap;
import java.util.Scanner;
public class StudentScores {
private HashMap<String, Integer> scores;
public StudentScores() {
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);
// 添加学生分数
System.out.println("请输入学生姓名和分数(输入 q 退出):");
while (true) {
String name = scanner.nextLine();
if (name.equals("q")) {
break;
}
int score;
try {
score = scanner.nextInt();
} catch (Exception e) {
System.out.println("输入错误,请输入一个整数作为分数。");
continue;
}
studentScores.addScore(name, score);
System.out.println("已添加学生:" + name + ",分数:" + score);
}
// 查询学生分数
System.out.println("请输入要查询的学生姓名(输入 q 退出):");
while (true) {
String name = scanner.nextLine();
if (name.equals("q")) {
break;
}
Integer score = studentScores.getScore(name);
if (score != null) {
System.out.println("学生:" + name + ",分数:" + score);
} else {
System.out.println("未找到学生:" + name);
}
}
scanner.close();
}
}

这个程序首先创建了一个StudentScores类,该类内部使用一个HashMap来存储学生姓名和分数。该类有两个方法:addScore用于添加学生分数,getScore用于查询学生分数。

在main方法中,我们创建了一个StudentScores对象,并使用Scanner来从控制台读取用户输入。用户可以通过输入学生姓名和分数来添加学生分数,也可以输入学生姓名来查询分数。当用户输入"q"时,程序会退出当前的输入循环。

注意:这个程序没有进行详细的错误处理,例如检查输入的学生姓名是否已存在等。在实际使用中,你可能需要增加更多的错误处理逻辑。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值