我目前正在研究一個O Level項目的程序,我選擇了一個班級管理系統。在我的方法課上,我有各種方法來控制我的程序的不同功能,例如收集學生姓名或顯示學生成績直方圖的方法。但是,我發現我的一種方法存在缺陷。這是一種逐一列出學生姓名的方法(它們是從一個在此方法之前執行的方法中保存到數組中的)並要求學生標記。在這裏,用戶可以輸入任何數字,這是不方便的,考慮到數字等級通常在0-100之間。我已經嘗試了下面的代碼,但我已經陷入困境。該代碼事實上阻止了用戶輸入超過100的標記,但是不是允許用戶重新輸入正確的標記,而是跳過到下一個學生,使得以前的學生沒有標記。以下是說代碼:我需要用戶的輸入不跳過值100
//mark input
public void markin() {
System.out.println("=====================================");
System.out.println("Please enter the mark of the students");
System.out.println("=====================================");
for (int g = 0; g != marks.length; g++) {
System.out.println(names[g]);
marks[g] = Keyboard.readInt();
while(marks[g]<0||marks[g]>100){
System.out.println("Kindly enter a number that is less than 100");
break;
}
}
}
幫助將是非常讚賞和感謝你提前:) 道歉,如果我的英語不是很好。
兩個問題,我可以看到...你休息實際上需要輸入的無限循環,而且我只能假設'readInt'類似於'Scanner'中的'nextInt',如果您點擊「Enter」然後爲其輸入一個新值,那麼這個功能並不起作用。 – Makoto