0

I am writing a program that required user to only enter integer as an input. Otherwise, the program will keep on repeating and ask user to enter value again until it is integer. But i am having an infinite loop in my code here

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

1 Answers1

0

try this

  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);
Abhinav Chauhan
  • 985
  • 1
  • 4
  • 20