私はコマンドラインプログラムを作成しており、有効な年齢(整数)を入力するようにしたいと考えています。 Scannerクラスを使用することにより、私はこのような何かを持っている:ユーザーが整数を入力したことを確認する
int getAge() {
Scanner = new Scanner(System.in);
int age;
boolean isValid = false;
while(!isValid) {
System.out.println("Please enter your age");
if (myScanner.hasNext()) {
if (myScanner.hasNextInt()) {
age = myScanner.nextInt();
isValid = true;
} else {
System.out.println("Please enter an integer");
}
}
}
return age;
}
ループの中で、新しい価値を待たずに入力を読み続けながらということで問題。どうすればこの問題を回避できますか?