我是非常新的Java,我想做一個從華氏溫度到攝氏溫度的單位轉換程序,我暈了驗證循環。這就是我得到的。我該如何解決這個循環驗證問題?
// Validation
do {
isNumber = true;
System.out.print("What is the temperature in Fahrenheit?: ");
// If alphabetical characters are entered
while (!input.hasNextDouble()) {
System.out.println("Oops! Try entering only numerical characters.");
System.out.println();
isNumber = false;
input.next();
}
fahrenheit = input.nextDouble();
} while (!isNumber);
,你可以看到什麼,我試圖驗證的是,用戶沒有輸入一個字符串。但是當我運行該程序時,它被卡在某種循環上,它說
What is the temperature in Fahrenheit?: something <-- what I input
Oops! Try entering only numerical characters.
就是這樣。它不會回到輸入或任何東西,它只是停留在那裏,直到我輸入一個數字,然後它可以追溯到
What is the temperature in Fahrenheit?:
爲了澄清,我的問題是隻有在確認循環,因爲當我輸入一個數字,它工作得很好。只有在輸入字符串時纔會出現問題。
'input.nextLineDouble();'?這對我不起作用。 – lokilindo