2010-11-25 4 views
0

J'ai créé une liste d'options de commutation de cas,liste d'options de ligne Java de commande de navigation

liste d'options Première
option 1 Aller à la liste option A
option 2 Aller à la liste option B
option 3 haven » t décidé ce que cela va faire encore l'option C
4 Sortie

si l'option 1 est sélectionnée
option 1 Une option do
2 do B
option 3 Do C
option 4 Menu précédent
option 5 Sortie

Donc, fondamentalement, est un interrupteur à l'intérieur d'un interrupteur. Le bit sur lequel je suis coincé revient au menu précédent.

while (true) { 
     System.out.println("Choose which Sort type to use\n"); 
     System.out.println("(1): Option 1 - do something\n(2): Option 2 - do something else\n(3): Option 3 - Something Cool\n(4): Exit"); 
     option = in.nextInt(); 

     if (option == 4) { 
      System.exit(0); 
     } 


     switch (option) { 

     case 1: 

      while (true) { 
     System.out.println("Choose which Sort type to use\n"); 
     System.out.println("(1): Option 1 - do something\n(2): Option 2 - Do something else\n(3): Option 3 - Something Cool\n(4): Exit"); 
     option = in.nextInt(); 

     if (option == 4) { 
      System.exit(0); 
     } 


     switch (option) { 

     case 1: 

      while (true) { 

      System.out.println("Choose which Sort type to use\n"); 
      System.out.println("(1): Option 1 -something\n(2): Option 2 - something else\n(3): Option 3 - something else\n(4): Option 4 - Previous Menu\n(5): Exit\n"); 
      option = in.nextInt(); 
      if (option == 5) { 
       System.exit(0); 
      } 


      switch (option) { 

      case 1: 

       break; 
      case 2: 

       break; 
      case 3: 

       break; 
      case 4: 

      default: 
       System.out.print("Please enter a valid option 1, 2 or 3"); 
       break; 
      }//end of switch 


     }//end of while loop 





     case 2: 
      while (true) { 

       System.out.println("Choose which something type to use\n"); 
       System.out.println("(1): Option 1 - something\n(2): Option 2 - something\n(3): Option 3 - something\n(4): Exit"); 
       option = in.nextInt(); 
       if (option == 4) { 
        System.exit(0); 
       } 


       switch (option) { 

       case 1: 

        break; 
       case 2: 

        break; 
       case 3: 


        break; 
       default: 
        System.out.print("Please enter a valid option 1, 2 or 3"); 
        break; 
       }//end of switch 


      }//end of while loop 











     case 3: 

      break; 
     default: 
      System.out.print("Please enter a valid option 1, 2 or 3"); 
      break; 
     }//end of switch 

     } 
+0

Vous pouvez utiliser des étiquettes et 'rompre

+0

Montrez-nous le code que vous avez essayé à ce jour. – Asaph

+0

ajouté, j'ai enlevé ce que les cas effectivement effectuer car ce n'est pas vraiment nécessaire. Beaucoup de mecs sournois ont volé du code ces jours-ci. Je pensais à une autre instruction if, comme si l'option est égale à 4, aller au début du code. J'ai essayé le menu de ligne de commande de googling, semble être étonnamment peu, au moins des choses que je comprends. – TroothHertz

Répondre

0

Placez le commutateur imbriqué dans une méthode. Lorsque vous avez terminé sa boucle, revenez.

while (true) 
{ 
    option = ...; 
    switch (option) 
    { 
    case 0: 
     submenu(); 
     break; 
    // ... 
    } 
} 

// later 
public void submenu() 
{ 
    while (true) 
    { 
     option = ...; 
     switch (option) 
     { 
     case 0: 
      return; 
      break; 
     // ... 
     } 
    } 
} 
+0

seul problème avec c'est le cas a besoin d'accéder à des choses à l'intérieur de la méthode principale. EDIT: j'ai oublié de passer des choses à la méthode, mon mauvais – TroothHertz