【问题标题】:How to ensure that user input is always Integer in Java [duplicate]如何确保用户输入在Java中始终是整数[重复]
【发布时间】:2020-07-09 19:17:23
【问题描述】:

我正在编写一个程序,要求用户只输入整数作为输入。否则,程序将继续重复并要求用户再次输入值,直到它是整数。但是我在这里的代码中有一个无限循环

enter code here
boolean checkNum = false;
int numOne = 0; 
do
{
    // check if user enter integer or not
    checkNum = read.hasNextInt();
    if(!checkNum)
    {
        System.out.println("Error, please input only integer ");
    }
} while(!checkNum);
// retrieve data integer from the user 
numOne = read.nextInt();

【问题讨论】:

  • 将输入读取为字符串,对其进行验证(例如尝试将其解析为整数),然后继续请求另一个输入,直到它有效为止。
  • nextInt() 如果输入不是整数则抛出异常

标签: java integer boolean infinite-loop do-loops


【解决方案1】:

试试这个

  Scanner scanner = new Scanner(System.in);
  String s = null;
     System.out.println("enter a number");
       while(!(s = scanner.nextLine().trim()).matches("\\d+"))
       {
           System.out.println("enter only intger");
       }
       int num = Integer.parseInt(s);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-27
    • 2014-01-30
    • 1970-01-01
    • 2022-10-22
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多