ユーザーがその週の費用を入力するプログラムを作成しようとしています。問題は、受け入れられない入力が入力された場合にプログラムにユーザーに再質問させたいという事実にあります。負の値を検出する方法を見つけましたが、入力ミスマッチ例外 (文字または文字列が入力された場合) をキャッチしようとすると、ループが無限に実行され、「Monday Expenses:」を求められます。もう一度答えるチャンスはありますか?私は休憩を試みました。しかし、それは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);
}
}
ご協力いただきありがとうございます