Javaプログラミングのいくつかの練習プログラムで私の頭を包み込み、ループやスキャナユーティリティを試してみると、スキャナは正しい入力が入力されたかどうかをチェックし、正しい入力が入力されるまでプログラムをループさせます。起こることになっている基本的にはどのようなJava Scannerのユーティリティでは、ユーザーがループ内で入力を再入力することはできません
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int numbOne;
boolean checker;
System.out.println("please enter an Interger");
do{
if(s.hasNextInt()){
numbOne = s.nextInt();
System.out.println("Yay it worked!!!");
checker = true;
}
else{
System.out.println("I told you to enter an integer you idiot\nTRY AGAIN!!!!!!");
checker = false;
}
}
while(checker == false);
}
}
は、プログラムがループに入ると、ユーザはそれをメッセージ表示する整数入力すれば、それは、入力に整数をユーザーに尋ねることである「イェーイ、それが働いたの!!!」ループから抜け出しますが、ユーザーが文字列またはその他の値を入力すると、コードはループして再び入力を要求する必要があります。
しかし私が抱えている問題は、プログラムは入力を一度しか求めておらず、間違った入力があった場合、プログラムはユーザーに再度入力を要求せずに何度も何度もループを繰り返しています。
私は間違って何をしましたか?
実際にループを終了したくない場合は、なぜ 'checker'を' true'に設定していますか? – bradimus