testModify中的代碼這么寫可以么,運行出來沒有問題
public void testModify() {
Scanner input = new Scanner(System.in);
System.out.print("輸入要修改的學生ID:");
while(true) {
String ID = input.next();
Student st= students.get(ID);
if(st==null) {
System.out.print("該ID不存在,請重新輸入:");
continue;
}else {
System.out.println("當前該ID所對應的學生為:"+st.name);
System.out.print("請輸入學生姓名:");
String name = input.next();
st.name = name;
break;
}
}
2021-07-26
直接用st.name = name;就沒有起到演示修改用put()方法的效果了!
2021-02-22
無法接受你重新輸入ID
2021-02-22
continue是終止這一次循環(huán)繼續(xù)下面的循環(huán),這里else沒起到作用,已經(jīng)跳到while中進行下面的代碼了,這里continue應該不可替代else,如果刪除continue只留else應該無法接受你的再次輸入。
2021-02-22
沒有問題,不過else可以省去,這里如果有else則是不滿足if的條件所運行,因為這里是while的死循環(huán)所以continue在這里則是達到終止該循環(huán)的效果,所以其實這里else和continue的用處是一樣的,else可有可無。
2020-07-21
我覺得沒什么問題,只不過用的語句不同而已,老師是用了continue;來表示重新開始下一個新循環(huán),如果你加了else,就沒必要再用continue;了。? 但是可能說用continue的好處是程序在運行時如果進入if語句中,會直接跳轉到while語句不需要再進入else語句,這樣省卻了一點程序的運行讓運行更簡便快捷,這可能是continue比你這個方法好的原因(如果有的話我覺得這是最可能的區(qū)別)