为什么会执行else里面的语句?

来源:4-11 学生选课---通过 Set 集合管理课程

fevernova

2016-03-06 16:42

public void testSelectCourse(){
		//用于存放键盘输入信息
		String courseId;
		
		stu = new Student("1","小明");
		System.out.println("欢迎" + stu.name + "同学选课!");
		
		for(int i = 0; i < 3; i++){
			System.out.println("请输入课程ID");
			courseId = sc.next();
			for (Course cr : coursesToSelect) {
				if(cr.id.equals(courseId)){
					/**
					 * 在Set中多次添加同一对象时,最终只会保留一个该对象(的引用),且保留的是第一次添加的那一个
					 */
					//stu.courses.add(cr);
					stu.courses.add(cr);
					//在Set中允许添加null对象
					//stu.courses.add(null);
				}else{
					System.out.println("输入信息错误,请重新选择!");
					testSelectCourse();
				}
			}
		}
	}


写回答 关注

1回答

  • yanxue1210
    2016-03-06 18:51:39

    键盘输入的课程ID在备选课程ID中查找不到,就会执行else里面的语句,输出提示信息。

    fevern...

    我已经知道了,犯了个思维错误,谢谢你

    2016-03-06 20:35:50

    共 1 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题