Я ОЧЕНЬ новичок в 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