Пытается написать программу, в которой пользователь вводит свои расходы за неделю. Проблема связана с тем, что я хочу, чтобы программа повторно запрашивала пользователя, если введен недопустимый ввод. Я выяснил, как определять отрицательные значения, но при попытке поймать исключение входного несоответствия (если он вводится как символ или строка) цикл просто бесконечно запрашивает «Расходы в понедельник»: Как сделать так, чтобы пользователь еще один шанс ответить? Я попробовал перерыв; но это тоже вышло из цикла do while, чего я не хочу.Почему это происходит, когда цикл работает бесконечно?
Вот мой код до сих пор:
import java.util.Scanner;
public class BarGraph{
public static void main (String[] args){
Scanner myScanner;
myScanner = new Scanner(System.in);
double mon, tues, wed, thurs, fri, sat, sun;
do{
try{
System.out.print("Expenses for Monday: ");
mon = myScanner.nextDouble();
}catch(Exception e){
mon = -1;
}
}while(mon<0);
System.out.println(mon);
}
}
Спасибо за вашу помощь
Сканер myScanner = новый сканер (System.in); сделает вашу жизнь проще, чем сканер myScanner; myScanner = // blah blah blah –