我想創建一個程序,我使用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();'似乎在提示用戶輸入另一個整數,即使它們已經輸入了一個。 –