次のコードを使用して、ユーザーに身長をフィートとインチで尋ね、ユーザーの入力が int でない場合はエラー メッセージを返します。
loop = true;
while(loop){
if(input.hasNextInt()){
feet = input.nextInt();
loop = false;
break;
}
else{
System.out.println("Invalid input, please enter an integer.");
System.out.print("Feet: ");
input.nextLine();
}
}
loop = true;
System.out.print("Inches: ");
while(loop){
if(input.hasNextInt()){
inches = input.nextInt();
loop = false;
break;
}
if(!input.hasNextInt()){
System.out.println("Invalid input, please enter an integer.");
System.out.print("Inches: ");
input.nextLine();
}
}
プログラムは、足が完全に正常であるというエラー メッセージを返します。
Feet: f
Invalid input, please enter an integer.
Feet:
しかし、最初にインチのエラー メッセージを返すと、2 回返されます。
Inches: f
Invalid input, please enter an integer.
Inches: Invalid input, please enter an integer.
Inches:
このエラーは、ユーザーが整数以外を初めて入力したときにのみ発生します。どうすればこれを取り除くことができますか?