为了账号安全,请及时绑定邮箱和手机立即绑定

重写了equal后name还是提示false 前一节的课程也是一样 怎么回事

    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

正在回答

2 回答

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

0 回复 有任何疑惑可以回复我~
#1

del孜然 提问者

非常感谢!
2016-06-30 回复 有任何疑惑可以回复我~

好吧  我说为啥每回判定学生姓名都是false 原来是我复制的时候忘记修改了.....

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

重写了equal后name还是提示false 前一节的课程也是一样 怎么回事

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信