问答详情
源自:6-1 学生选课---判断 List 中课程是否存在

最后一个输入课程判断是否contains,一直是false

System.out.println("请输入课程名称:");
		Scanner input = new Scanner(System.in);
		String name = input.next();
		Course course3 = new Course();
		course3.name = name;
		System.out.println("新创建课程:" + course3.name);
		System.out.println("备选课程中是否包含课程: " + course3.name +"," +
				coursesToSelect.contains(course3)) ;
				


请输入课程名称:

数据库

新创建课程:sh数据库

备选课程中是否包含课程: sh数据库,false


捕获到的输入结果是这样子的。。。就是有时候 新创建课程:数据库    这个是正常的

最后的结果也还是false

我自己调试 了一下,输入的name 的  地址和List中存储的课程的地址都不相同,重写了equals方法后,还是得到false。无爱了

提问者:CyberLiu 2015-09-22 17:55

个回答

  • 高先森_2
    2016-03-19 18:23:40

    关于字母的这个问题  这个是eclipse软件的问题  在控制台输入时注意下就好

  • weibo_阿大木木_0
    2016-03-16 15:16:40

    跟楼主犯了一样的错误,也是自动生成equals方法的时候把id沟上了,所有一直是false

  • qq_得忧郁症的机器人_0
    2015-12-25 15:15:42

    之前碰到过,在控制台打字输入时先用鼠标左键点一下,此问题即可解决,你可以试试

  • CyberLiu
    2015-09-22 18:11:11

    找到了原因。说一下,希望对后面可能碰到这样的问题的人有帮助。我自动生成的equals方法的时候,把课程id的equals方法也重写了。所以地址一直不相同。现在实验通过。但是键盘读入的课程为什么会把我打拼音的时候的字母也读入。这个问题还没有解决

  • CyberLiu
    2015-09-22 18:02:09

    添加了课程1:数据结构

    添加了课程2:C语言

    添加了课程3:数据库

    添加了两门课程:4:有机化学;5:大学英语

    获取课程: 3:数据库

    备选课程中是否包含课程: 数据库,true

    获取课程: 3:数据库

    备选课程中是否包含课程: 数据库,true

    请输入课程名称:

    数据库

    新创建课程:数据库

    备选课程中是否包含课程: 数据库,false