title: JAVA: Creating a Menu Loop
body: <p>My program contains a few options that the user can select via the input of a number which allows them to complete a specific task. Currently, my code is set up with if and else if loops to complete task if a certain number of input. However, at the minute the program terminates after one task. I want the user to be able to input another number to complete another task. I have tried surrounding the code with a while loop and an exit option to allow the user to escape the loop and end the program, but this is not working and results in a "java.util.NoSuchElementException". The program works fine without the while loop.</p>
  
  <p>This is an example of the current code which hopefully conveys what I mean:</p>
  
  <pre><code>System.out.println("Enter one of the following commands:");
  System.out.println("1 - something..");
  System.out.println("2 - something else..");
  System.out.println("3 - exit");
  Scanner scanchoice = new Scanner(System.in);
  System.out.println();
  System.out.println("Enter \"1\", \"2\" or \"3\"");
  int choiceentry = scanchoice.nextInt();
  
  while (choiceentry != 3) {
  
      if (choiceentry &lt; 1 || choiceentry &gt; 3) {
  
          System.out.println("Enter \"1\", \"2\", \"3\" or \"4\"");
          choiceentry = scanchoice.nextInt();
  
      }
  
      else if(choiceentry == 1) {
          // ..do something
      }
      else if(choiceentry == 2) {
          //..something else
      }
      else if(choiceentry == 3) {
          //...exit program
      }
  
  }   
  </code></pre>
  
  <p>So I want to get into this loop, and only exit to terminate the program. I'm hoping that the while loop would take the user back to a menu, allowing you to select another option, however this is not working. What is wrong with this code? And how can I implement this idea?</p>
  
  <p>Thanks in advance!</p>