2010-11-25 11 views
0

私はケーススイッチオプションのリストを作成した、のJavaコマンドラインオプションのリストナビゲーション

まずオプションリスト
オプションtはオプション1を
オプション1ですか
オプション2ドゥB
を選択した場合、これはまだC
オプション4番出口

を何をするかを決めましたオプション3ドゥC
オプション4、前のメニュー
オプション5番出口


だから、基本的にはスイッチ内部のスイッチ。私が立ち往生しているビットは、前のメニューに戻ります。

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

あなたはラベルを使用して '

+0

これまでに試したコードを見せてください。 – Asaph

+0

が追加されました。ケースが実際に実行するものを削除しました。最近、コードを盗んだ卑劣な者がたくさんいます。私は別のifステートメントについて考えていました。オプションが4の場合と同様に、コードの先頭に移動します。私は、コマンドラインメニューのグーグルを試してみましたが、私が理解している事柄は驚くほど少ないようです。 – TroothHertz

答えて

0

ネストされたスイッチをメソッド内に配置します。あなたがループを終えたら、戻ります。

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

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

それだけの問題は、メインのメソッド内部のものにアクセスする必要があることです.EDIT:メソッドに物事を渡す必要があることを忘れてしまった – TroothHertz

関連する問題