Моя программа должна принимать переменную с плавающей запятой, а затем выйти. Однако я занимаюсь некоторыми материалами обработки исключений и обнаружил проблему. Всякий раз, когда вы вводите письмо в эту программу, программа, конечно, генерирует исключение InputMismatchException, но оно застревает внутри бесконечного цикла. Я полагаю, что моя проблема основана на моем непонимании операторов try-catch и обработки исключений.Переменные с плавающей запятой и обработка исключений
public static void main(String [] args){
Scanner reader = new Scanner(System.in);
boolean done = false;
do{
try{
System.out.print("Enter a number: ");
float number = reader.nextFloat();
done = true;
}
catch (Exception e){
System.out.println("uh oh");
}
}while(!done);
}
Эта проблема не возникает, если я использую другой тип переменной, так что я не уверен, если это логическая ошибка или просто что-то в стиле фанк с плавающей точкой переменных.
Что вы подразумеваете под «бесконечной петлей»? Вы получаете какой-то результат? –
Да, я снова и снова получаю заявление «Введите число: uh oh». –