title: Java Looping a switch-case statement on "invalid input"
body: <p>I am looking to update my code to loop my swtich statement if a user inputs anything that doesn't have an option defined in it. I have scoured the numerous pages here that return from various search terms and have come close but so far no luck still. 
  My code here should get any one that wants to take a stab at it going.</p>
  
  <pre><code> java.util.Scanner;
   //import java.lang.Character.*; 
   //Thought this was needed to grab single char but its not
   public class caseloop {
   //main Method
   public static void main(String[] args)
   {
    Scanner input=new Scanner(System.in); //make so you can give input
    boolean go = true; // for starting main outer loop
    boolean run=true; // start inner loop
    while (go==true)
    {
      while (run==true)
      {
         //Output
         System.out.println("Enter option \n 1-Do this \n 2-Do this thing \n 3-Do this other thing");
         int option= input.nextInt(); //grab option number
  
         switch(option)
         {
           /*
            * This needs to loop and prompt user again if anything other than 1,2, or 3 is entered.
            */
           case 1:
             System.out.println("Option1");
             break;
           case 2:
             System.out.println("Option2");
             break;
           case 3:
             System.out.println("Option3");
             break;
           /*case 4:
             System.out.println("Option1");
             System.out.println("Option2");
             System.out.println("Option3");
  
             break;
           *
           * 
           * Case 4 was for debug
           * 
           */
           default:
             System.err.println("Invalid option selected");
             /*
              * On input that is not defined with in the switch-case it will revert to "default"
              * this fault staement needs to tell ther usere their option is not vaild and then
              * prompt them to try it again to enter an option. I can not get it to reprompt. 
              * I have tried a while and an if loop both sorta worked but did not actually loop
              * back to display again. I have been instucted that I am to not use a  try catch statment 
              * unless of course that is the only viable option in whichcase I will use it anyways.
              */
  
             //stupid default statement and its redundent built in "break;"
  
         }
        run=false;
        }
  
  
     /*
      * Outer Loop to prompt user if they want to run the entire program again with new entries.
      */
     if (run == false) 
     {
       System.out.println("Would you like to run again? Y/N");
       char again = input.next().charAt(0);
       again = Character.toUpperCase(again); //force all leters inputed to upper case, lower would work too if i change if conditions
       if (again == 'Y')
       {
         run = true;
       }
       else if (again == 'N')
       {
         System.out.println("Goodbye.");
         go=false;
       }
       else
       {
         System.err.println("Invalid entry. Try again.");
       }
     }
    }
   }
    //System.err.println("An error occured please try again");
  
  }
  </code></pre>
  
  <p>Any assistance in this would be much appreciated. </p>