java - java中退出while循环

标签 java while-loop

我正在尝试创建一个程序,在其中使用 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/

相关文章:

java - 如何从mongoDB中只提取一个值?

java - 为链接列表创建 getLast 方法

java - 将度数转换为象限名称的最佳方法是什么

java - 循环 while 和 if 语句优先级

使用变量索引的 C 段错误与使用数字索引数组的无错误相比

java - 从工具栏获取ImageView

java - MaskFormatter 可以采用任何尺寸,还是只能采用您提供的尺寸?

java - if 语句可以嵌套在 while 循环中吗?

关于 vector 和 for/while 循环的 C++ 新手

Python3 - 而 ids > 停止 : TypeError: unorderable types: str()> int()