次のコードでスキャンされる番号をユーザーに入力してもらいたい:
scanner.nextInt();
ユーザーが代わりに文字列を入力すると、プログラムはをスローしInputMismatchException
ます。これは明らかです。ユーザーが整数値を入力するまで、プログラムがユーザーに入力の入力を求めるように例外をキャッチしたいと思います。
Scanner scanner = new Scanner(System.in);
while(true) {
try {
System.out.println("Please enter a number: ");
int input = scanner.nextInt();
System.out.println(input);
//statements
break;
}
catch(InputMismatchException | NumberFormatException ex ) {
continue;
}
}
このコードは、文字列が入力された場合に無限ループを作成します。