问答详情
源自:4-11 学生选课---通过 Set 集合管理课程

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

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();
				}
			}
		}
	}


提问者:fevernova 2016-03-06 16:42

个回答

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

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