退出do-while循环应用程序

问题描述 投票:2回答:2

我的控制台应用程序有一个小问题。应用程序应从用户那里获取编号并将其添加到列表中,但是如果输入为“ c”,则应将其关闭。我无法弄清楚如何在不使用Scanner.nextLine()挂起应用程序并退出循环的情况下验证“ c”变量。

public void getNumbersFromUser() {

  Scanner scanner = new Scanner(System.in);
  int number;
  boolean flag = true;

  do{
     System.out.println("Enter a number");

     while(!scanner.hasNextInt()) {
        System.out.println("Thats not a number !");
        scanner.next();
     }
        number = scanner.nextInt();
        list.add(number);
        System.out.println(list);

  }
  while(flag);

我的控制台应用程序有一个小问题。应用程序应从用户那里获取编号并将其添加到列表中,但是如果输入为“ c”,则应将其关闭。我想不通如何验证“ c” ...

java loops console-application do-while
2个回答
2
投票

一种方法是使用Scanner.next(),它将阻止等待输入,并亲自使用Integer.parseInt()检查输入:


1
投票

最好使用next()获取输入,并且不添加第三方库,请创建一个辅助方法来检查输入是否为数字:

© www.soinside.com 2019 - 2024. All rights reserved.