title: How do you go back to the previous menu with do while and switch?
body: <p>I have a do-while loop within a do-while loop and switch cases for each of them.</p>
  
  <p>I want the main menu to be looping forever and want the main menu cases to go back to the main menu after some condition.</p>
  
  <p>For example:</p>
  
  <pre><code>//main menu
  do {
    case 1:
    do {
      case 1:
      case 2:
      } while(something);
      //go back to main menu
    case 2:
    case 3:
    case 4:
  } while(true);
  </code></pre>
  
  <p>How may I achieve this in Java code?</p>
  
  <p>Below is my code for your reference (should you need it) :)</p>
  
  <pre><code>import java.util.Scanner;
  
  public class Test {
    public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
  
      do {
  
        System.out.println("[1] Priority Queue");
        System.out.println("[2] 2D Array");
  
        System.out.print("Please choose a data structure: ");
  
        int num = scanner.nextInt();
        switch (num) {
  
        // ==================== PriorityQueue ====================
        case 1:
          System.out.println("\n=== Priority Queue Test ===\n");
  
          System.out.print("Enter size of priority queue: ");
          PriorityQueue pq = new PriorityQueue(scanner.nextInt());
  
          char a;
          /* Perform Priority Queue operations */
          do {
            System.out.println("\nPriority Queue Operations\n");
            System.out.println("1. insert");
            System.out.println("2. remove");
            System.out.println("3. check empty");
  
            int choice = scanner.nextInt();
            switch (choice) {
            case 1:
              System.out.print("Enter job name and priority: ");
              pq.insert(scanner.next(), scanner.nextInt());
              break;
            case 2:
              System.out.println("\nJob removed \n\n" + pq.remove());
              break;
            case 3:
              System.out.println("\nEmpty Status: " + pq.isEmpty());
              break;
            default:
              System.out.println("Wrong Entry \n ");
              break;
            }
            System.out.println("\nDo you want to continue? (y or n) \n");
            a = scanner.next().charAt(0);
          } while (a == 'Y' || a == 'y' || a != 'N' || a != 'n');
          break;
  
        // ==================== 2D Array ====================
        case 2:
          TwoDimensionalArray array = new TwoDimensionalArray();
  
          System.out.println("\n=== 2D Array Test ===\n");
          System.out.println("Enter size of 2D Array: ");
          int DIM = scanner.nextInt();
          int[][] table = new int[DIM][DIM];
  
          char b;
          do {
  
            System.out.println("1. insert [x][y] coordinate");
            System.out.println("2. remove [x][y] coordinate");
            System.out.println("3. empty");
            System.out.println("4. print");
  
            int choice = scanner.nextInt();
            switch (choice) {
            case 1:
              array.insert(table, scanner);
              break;
            case 2:
              array.remove(table, scanner);
              break;
            case 3:
              array.empty(DIM);
              break;
            case 4:
              array.print(DIM, table);
              break;
            }
            System.out.println("\nDo you want to continue? (y or n) \n");
            b = scanner.next().charAt(0);
          } while (b == 'Y' || b == 'y' || b != 'N' || b != 'n');
          break;
        default:
          System.out.println("Please choose a number on the list!\n");
        }
        while (num == 1 || num == 2 || num == 3 || num == 4 || num == 5 || num == 6 || num == 7 || num == 8 || num == 9
            || num == 10 || num == 11 || num == 12 || num == 13 || num == 14 || num == 15 || num == 16 || num == 17)
          ;
      } while (true);
    }
  }
  </code></pre>