1
我有一個代碼,它接受來自用戶的輸入。必須循環詢問輸入是否格式不正確。只要輸入正確,程序就能正常工作。 PS。當用戶輸入不正確的輸入時會失敗。從循環中的掃描器獲取異常
例外:java.util.NoSuchElementException在java.util.Scanner.nextLine(來源不明)
如果我使用BufferedReader
,我沒有問題。 它只與Scanner
失敗。 感謝您的任何澄清。
public String getUserInput(String prompt) {
String inputLine = null;
Scanner sc = new Scanner(System.in);
while(true){
inputLine = null;
System.out.println(prompt + " ");
inputLine = sc.nextLine();
if(inputLine.length() == 2 &&
inputLine.charAt(0) >= 'a' && inputLine.charAt(0)<='g' &&
inputLine.charAt(1) >= '0' && inputLine.charAt(1)<='6'){
break;
}
else{
System.out.println("You entered your guess incorrectly.");
System.out.println("Please enter your guesses with ranges a through g and 0 through 6.");
}
}
sc.close();
return inputLine.toLowerCase();
}
之前,您應該使用此選項輸入失敗的輸入是 –
而例外是...? – tnw
這似乎對我很好嗎?你在期待什麼? –