我正在尝试创建一个程序,在其中使用 getInt 方法来确保用户输入正数。到目前为止我已经有了这个
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();
在方法结束时,您将调用 CONSOLE.nextInt()
,它再次要求输入。
返回posInt
,就可以了。
祝你好运,HTH
关于java - java中退出while循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43445331/