qq_我有我的范儿_0
2016-06-30 18:12
public void containsValueTest(){
System.out.println("请输入要确认的学生姓名:");
String name=scan.next();
Student student=new Student(null,name);
System.out.println("students中是否包含 "+name+" "+"学生"+students.containsValue(student));
if(!students.containsValue(student)){
System.out.println("学生映射表中不包含该学生");
}else{
for(Entry<String,Student> entry:students.entrySet()){
if((entry.getValue().getName()).equals(student.getName()))
System.out.println("对应的ID:"+entry.getKey());
}
}
}
前面的类的属性你都定义private了吧,我用的public做的,稍微改了一下你的代码,测试了一下,可以返回true
public void containsValueTest(){
System.out.println("请输入要确认的学生姓名:");
Scanner console=new Scanner(System.in);
String name=console.next();
Student student=new Student(null,name);
System.out.println("students中是否包含 "+name+" "+"学生"+students.containsValue(student));
if(!students.containsValue(student)){
System.out.println("学生映射表中不包含该学生");
}else{
for(Entry<String,Student> entry:students.entrySet()){
if((entry.getValue().name).equals(student.name))
System.out.println("对应的ID:"+entry.getKey());
}
//这是测试的结果
请输入学生ID:
1
未查询到该学生记录,请输入学生姓名:
111
成功添加学生:1:111
请输入学生ID:
2
未查询到该学生记录,请输入学生姓名:
222
成功添加学生:2:222
请输入学生ID:
3
未查询到该学生记录,请输入学生姓名:
333
成功添加学生:3:333
总共有3学生
学生:111
学生:222
学生:333
请输入要确认的学生姓名:
333
students中是否包含 333 学生true
对应的ID:3
我刚才看了一下代码才发现我导入类的时候导入错了,导入另一个包的student了,我改回来就对了,不过还是非常感谢你,只附了这么一段代码你就做了尝试,很认真,非常棒
String name=scan.next();中scan是怎么来的,前面是不是还差了一个Scanner scan=new Scanner(System.in);
Java入门第三季
409792 学习 · 4340 问题
相似问题
回答 2
回答 1