I'm trying to use a try-catch statement inside of a do-while loop. The logic seems to work, but the do loop is not looping over and over. If it goes into the catch it seems to just break out of the do loop.
private boolean madeChoice = false;
public void whatToDo(){
System.out.println("");
System.out.println("");
System.out.println("=====================================");
System.out.println("Welcome");
System.out.println("=====================================\n");
System.out.println("What would you like to do today? Your choices are: \n");
choices();
do{
try{
System.out.println("");
System.out.println("Please enter your choice");
int numberEntered = keyboard.nextInt();
if(numberEntered > 3 || numberEntered < 1){
System.out.println("-----------------------------------------------------------");
System.out.println("That is not a choice. Please choose from the following: \n");
choices();
numberEntered = keyboard.nextInt();
}else{
System.out.println("That is a good CHOICE");
madeChoice = true;
}
}catch (InputMismatchException e){
System.out.println("-----------------------------------------------------------");
System.out.println("This is not a number. Please choose from the following: \n");
choices();
}
}while(!madeChoice);
}
private void choices(){
System.out.println("1. Add a new set into your account");
System.out.println("2. See all the sets in your account");
System.out.println("3. Exit the Account Manger.");
}