私はgetIntメソッドを使ってユーザーが正の数を入力するプログラムを作成しようとしています。私は、これは、これまでJavaでwhileループを終了する
public class Binary {
public static void main(String [ ] args) {
Scanner CONSOLE = new Scanner(System.in);
int decimal=getInt(CONSOLE, "Enter a positive integer: ");
}
public static int getInt(Scanner CONSOLE, String prompt) {
System.out.print(prompt);
while (!CONSOLE.hasNextInt()) {
CONSOLE.next();
System.out.println("Not an integer; try again.");
System.out.println(prompt);
}
int posInt=CONSOLE.nextInt();
while (posInt <= 0) {
System.out.println("Not a positive integer; try again.");
CONSOLE.next();
System.out.println(prompt);
}
return CONSOLE.nextInt();
}
}
問題は、ユーザーが正の数を入力しない場合、それはまだ入力を無視し、再び正の整数を入力するようユーザに要求することを発生しています。私はちょうどループを正しく終了していないと思いますが、私はどのようにわからないのですか。
'return CONSOLE.nextInt();'行は、既に入力していても、別の整数を入力するように促すようです。 –