0

I am trying to get a While loop for user input to check if it is a number and not a letter.

System.out.println("Enter Student ID");

while(!scanner.hasNextInt()) {
    System.out.println("Input is not a number. Enter a Number:");
    scanner.nextLine();
}
int id = scanner.nextInt();

what it prints out;

Enter Student ID
j
Input is not a number.Enter a Number:
Input is not a number.Enter a Number:

if I enter another letter a second time ;

Enter Student ID
j
Input is not a number.Enter a Number:
Input is not a number.Enter a Number:
j
Input is not a number.Enter a Number:

This issue;

So it is working but on the first go around it prints "Input is not a number.Enter a Number:" twice... i cannot figure out why and then there after once ( as expected)...

The expected result should be ;

Enter Student ID
j
Input is not a number.Enter a Number:
x
Input is not a number.Enter a Number:
y
Input is not a number.Enter a Number:
Federico klez Culloca
  • 24,336
  • 15
  • 57
  • 93
vornies
  • 11
  • 3

0 Answers0