del孜然
2016-06-30 10:10
public void testContainsKeyOrValue(){
System.out.println("请输入要查询的学生ID:");
Scanner console=new Scanner(System.in);
String id=console.next();
System.out.println("您输入的学生ID为:" + id + ",在学生表中是否存在:"
+ students.containsKey(id));
if (students.containsKey(id)) {
System.out.println("对应的学生为:" + students.get(id).name);
}
System.out.println("请输入要查询的学生姓名:");
String name=console.next();
System.out.println("您输入的学生ID为:" + name + ",在学生表中是否存在:"
+ students.containsKey(name));
if (students.containsKey(new Student(null,name))) {
System.out.println("对应的学生为:" + name);
}
}
请输入学生ID:
1
请输入学生姓名:
小黑
成功添加学生:小黑
请输入学生ID:
2
请输入学生姓名:
小红
成功添加学生:小红
请输入学生ID:
3
请输入学生姓名:
小号
成功添加学生:小号
总共有:3个学生!
学生:小号
学生:小红
学生:小黑
请输入要查询的学生ID:
2
您输入的学生ID为:2,在学生表中是否存在:true
对应的学生为:小红
请输入要查询的学生姓名:
小黑
您输入的学生ID为:小黑,在学生表中是否存在:false
System.out.println("请输入要查询的学生姓名:");
String name=console.next();
System.out.println("您输入的学生ID为:" + name + ",在学生表中是否存在:"
+ students.containsKey(name));
if (students.containsKey(new Student(null,name))) {
System.out.println("对应的学生为:" + name);
}
上面斜体加粗的地方错了
应该是students.containsValue(new Student(null,name))
好吧 我说为啥每回判定学生姓名都是false 原来是我复制的时候忘记修改了.....
Java入门第三季
409792 学习 · 4340 问题
相似问题
回答 2