為什么會執行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(); } } } }
2016-03-06
鍵盤輸入的課程ID在備選課程ID中查找不到,就會執行else里面的語句,輸出提示信息。