学校のプロジェクトでは、try/catch を使用して、ユーザーが目的の入力タイプ (つまり double) ではなく文字を入力したときにプログラムがクラッシュしないようにしようとしています。
public static double inputSide () {
Scanner in = new Scanner(System.in);
double side = -1;
do {
try {
System.out.println("Enter a side length (in units):");
side = in.nextDouble();
}
catch(InputMismatchException e){
System.out.println("Must input number");
}
} while (side < 0);
return side;
}
このコードを実行すると、「辺の長さを入力してください (単位で):」と「数字を入力する必要があります」を無限に出力するループに陥ります。私は try/catch を初めて使用するので、この動作に慣れていないだけかもしれません。とにかく、誰かが私が問題を理解するのを手伝ってくれるなら、それは大歓迎です。前もって感謝します。