// Precondition: number provided is a positive integer
// Postcondition: returns a integer of length 4
public static int validateNumber(int num, Scanner scan)
{
int number = num;
while(number < 1000 || number > 9999)
{
try
{
System.out.print("Number must be 4 digits long. Please provide the number again: ");
number = scan.nextInt(); // reads next integer provided
scan.nextLine();
}
catch(InputMismatchException e) //outputs error message if value provided is not an integer
{
System.out.println("Incorrect input type.");
}
}
return number;
}
Assuming the preconditions are met, when this method gets executed and after entering a string to test the program, I get an infinite loop. Why is this problem occurring and how would I fix it?