Я пытаюсь обрабатывать ввод пользователя и допускать ввод только поплавков. Количество поплавков, которые могут быть введены, не ограничено, но если введены два последовательных неплавающих элемента, программа закончится. Когда программа закончится, будет напечатана сумма всех номеров.Обработка исключений с внешней петлей
Проблема в том, что всякий раз, когда я запускаю это, он сразу пробегает цикл while и увеличивает счет до 2 и прерывает цикл. Вы можете ввести один неплавающий, прежде чем он отменяет.
while(true){
try{
sum+= inRead.nextFloat();
}
catch (InputMismatchException e){
if (count == 2){
System.out.println(sum);
break;
}
else{
count+=1;
}
}
}
EDIT: Как некоторые из вас уже указывали на то, что счетчик должен быть инициализирован перед время цикла
Scanner inRead = new Scanner(System.in);
float sum = 0;
int count = 0;
while(true){
try{
sum+= inRead.nextFloat();
}
catch (InputMismatchException e){
if (count == 2){
System.out.println(sum);
break;
}
else{
count+=1;
}
}
}
Каково стартовое значение 'count'? –
Где и как вы устанавливаете/сбрасываете значение 'count'? –
Это полный код? – 23k