重写了equal后name还是提示false 怎么回事

来源:6-4 学生选课---判断 Map 中是否包含指定的 key 和 value

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());

}

}

}


写回答 关注

3回答

  • SilenceDean
    2016-07-07 19:45:04
    已采纳

    前面的类的属性你都定义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


    Silenc... 回复qq_我有我...

    一起加油吧

    2016-07-07 21:40:37

    共 3 条回复 >

  • qq_我有我的范儿_0
    2016-07-07 20:46:58

    我刚才看了一下代码才发现我导入类的时候导入错了,导入另一个包的student了,我改回来就对了,不过还是非常感谢你,只附了这么一段代码你就做了尝试,很认真,非常棒

  • 风筝纸船
    2016-06-30 18:35:17

    String name=scan.next();中scan是怎么来的,前面是不是还差了一个Scanner scan=new Scanner(System.in);

    qq_我有我...

    你还有其他的看法吗

    2016-07-01 08:06:49

    共 2 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题