好的,所以這個代碼的問題是,如果它不止一次地遍歷循環,關閉掃描器會導致代碼忽略掃描以進一步用戶輸入。我知道這個問題必須是Scanner課程中的內部問題,但是有沒有人有辦法以更安全的方式關閉掃描儀? (這可能有助於複製代碼,並嘗試輸入「55」或「j」,例如,如果您沒有意識到我馬上就會遇到的問題)。Java.util.Scanner,問題關閉
public static void main(String[] args){
int numCom = 0, count = 0;
boolean valid = false;
do{
Scanner num = new Scanner(System.in);
try{
if(count == 0){
System.out.println("Okay, how many adversaries would you like to be put up against? (between 1-8)");
count++;
}else{
System.out.println("Error!\nPlease enter a number between 1-8.");
}
numCom = num.nextInt();
}catch(Exception e){}
if(numCom < 9 && numCom > 0){
valid = true;
}
num.close();
}while(!valid);
}//main()
你的評論上,除了我的所有問題的答案。有什麼問題嗎? – Boann
對不起,我有一段時間沒有真正在這個網站上(最近一直流暢的航行)。我已經試圖關閉掃描儀,因爲它也關閉了輸入流(這種情況下的System.in)。如果有一種方法可以在事後重新打開流,那很好。 –
我已經回答了所有這些...... – Boann