高等数学与离散数学都返回FALSE 其他的都能正常返回TRUE是什么情况?

来源:6-3 学生选课---获取 List 中课程的位置

Youngkos

2017-09-06 23:51

public void testListContains(){
		//取得备选课程的第0个元素
		Course course= coursesToSelect.get(0);
		//打印输出是否包含course的对象
		System.out.println("取得课程:"+course.name);
		System.out.println("备选课程中是否包含此课程"+coursesToSelect.contains(course));
		System.out.println("请输入课程名称");
		String name = console.next();	
		Course course2 = new Course();
		course2.name= name;
		System.out.println("取得课程:"+course2.name);
		System.out.println("备选课程中是否包含此课程"+coursesToSelect.contains(course2));
		//通过indexOf方法取得索引位置
		if(coursesToSelect.contains(course2))
			System.out.println("课程"+course2.name+"的索引位置是"+coursesToSelect.indexOf(course2));
		
	}
	
	//创建学生对象并选课
	public void creatStudentAndSelectCourse(){
		//创建一个学生对象
		student = new Student("1","小明");
		System.out.println("欢迎:"+student.name+"选课!");
		Scanner input = new Scanner(System.in);  
		for(int i = 0 ; i<3 ; i++){
			System.out.println("请输入课程ID");
			String courseID = input.next();
			for(Course c : coursesToSelect){
				if(c.id.equals(courseID)){
					student.courses.add(c); 
					/**
					 * Set中,添加某种对象,无论添加多少次
					 * 最终只会保留一个该对象(的引用)
					 * 并且,保留的是第一次添加的那一个
					 */
				}
			}
		}	
		System.out.println("共选择了:"+student.courses.size()+"门课程");
		//打印输出学生所选的课程
		for(Course c : student.courses){
			System.out.println("选择了课程"+c.id+":"+c.name);
			}
	}
	/*
	 * */
	public void testSetContains(){
		//t提示输入课程名称
		System.out.println("请输入学生已选的课程名称");
		String name = console.next();
		//创建一个课程对象,ID和名称,并判断备选课程中是否包含课程
		Course course2 = new Course();
		course2.name= name;
		System.out.println("取得课程:"+course2.name);
		System.out.println("备选课程中是否包含此课程"+student.courses.contains(course2));
		
	}
	
	public static void main(String[] args) {
		SetTest st = new SetTest();
		st.testAdd();
		
	//	st.testForEach();
		st.testListContains();
		st.testForEach();
		
//		st.creatStudentAndSelectCourse();
//		st.testSetContains();

		}

请输入课程名称

离散数学

取得课程:离散数学

备选课程中是否包含此课程false

有如下课程待选(通过For each来遍历):

课程:2:C语言

课程:1:数据结构

课程:5:高等数学 

课程:6:大学英语

课程:3:离散数学 

课程:4:汇编语言


请输入课程名称

高等数学

取得课程:高等数学

备选课程中是否包含此课程false

有如下课程待选(通过For each来遍历):

课程:2:C语言

课程:1:数据结构

课程:5:高等数学 

课程:6:大学英语

课程:3:离散数学 

课程:4:汇编语言

请输入课程名称

C语言

取得课程:C语言

备选课程中是否包含此课程true

课程C语言的索引位置是0

有如下课程待选(通过For each来遍历):

课程:2:C语言

课程:1:数据结构

课程:5:高等数学 

课程:6:大学英语

课程:3:离散数学 

课程:4:汇编语言


写回答 关注

2回答

  • 初訫222
    2018-05-29 20:17:07

    只能是数组 好像

  • qq_蜗牛_111
    2017-09-08 11:08:30

    把Course类贴出来,看看你改造的equal()是啥样的?

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题