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。无爱了
关于字母的这个问题 这个是eclipse软件的问题 在控制台输入时注意下就好
跟楼主犯了一样的错误,也是自动生成equals方法的时候把id沟上了,所有一直是false
之前碰到过,在控制台打字输入时先用鼠标左键点一下,此问题即可解决,你可以试试
找到了原因。说一下,希望对后面可能碰到这样的问题的人有帮助。我自动生成的equals方法的时候,把课程id的equals方法也重写了。所以地址一直不相同。现在实验通过。但是键盘读入的课程为什么会把我打拼音的时候的字母也读入。这个问题还没有解决
添加了课程1:数据结构
添加了课程2:C语言
添加了课程3:数据库
添加了两门课程:4:有机化学;5:大学英语
获取课程: 3:数据库
备选课程中是否包含课程: 数据库,true
获取课程: 3:数据库
备选课程中是否包含课程: 数据库,true
请输入课程名称:
数据库
新创建课程:数据库
备选课程中是否包含课程: 数据库,false