ユーザーが正の整数のみを入力できるスクリプトを作成しています。try catch と while ループを備えたスキャナーを使用しています。ループは、ユーザーに正しい入力を求め続けることです。
負の整数をチェックすることはできますが、文字列やその他のクレイジーなものはどうでしょうか?
int price = 0;
Scanner input = new Scanner(System.in);
try {
System.out.println("Enter max price: ");
price = input.nextInt();
if (price > 0) {
input.close();
} else {
while (price < 0) {
System.out.println("Negative values not allowed");
System.out.println("Enter max price: ");
price = input.nextInt();
}
input.close();
}
} catch (InputMismatchException e1) {
}
キャッチ部分でちょっと引っかかってます..