首页 > 解决方案 > 如何确保用户输入在 Java 中始终是整数

问题描述

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

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();

标签: javaintegerbooleaninfinite-loopdo-loops

解决方案


尝试这个

  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);

推荐阅读