2017-11-10 15 views
0

現在、2つ以上のスイッチをテストしていますが、どのように優先順位をつけているかに問題があります。たとえば、 -複数のスイッチをスタックするにはどうすればいいですか?

switch (Scanner Input) 
    { 
     case 1: 
     System.out.print("Example"); 
     break; 
     case 2: 
     get.example(); 
     break; 
    } 
switch (Scanner Input2) 
    { 
     case 1: 
     System.out.print("Example"); 
     break; 
     case 2: 
     get.example(); 
     break; 
    } 

これを実行すると、両方の入力が要求され、THENが出力/出力方法を出力します。スイッチ1>実行結果>スイッチ2>の代わりに結果が実行されます。また、修正がある場合は、ループでそれを行うことは可能ですか?

これは何らかの意味がありますが、私はまだ新しいので、私の専門用語はオフです。事前に大変感謝しています!

+1

私は本当にあなたがしたいことを理解しようとしています。さらに説明するか、すべてのコードを記述してください。期待される出力など? –

+0

申し訳ありませんが説明が不十分だった場合。基本的には、この順番で実行するだけです。スイッチ1>出力結果>スイッチ2>出力結果など 今のところ、スイッチ1>スイッチ2>スイッチ1の結果>スイッチ2の結果になります。これがまだ意味をなさないのであれば、私は完全なコードを追加します –

答えて

2

スイッチのロジックを別の方法に移動して、それを実行することができます。それを実行することを意図しているので、2回書き込まないでください。ここでは、私はあなたがこれをしたいと思う、私はそこにユーザーにいくつかのメッセージを追加しました。 リターンを使用しているため、ケースで区切りを削除したため、到達不能なコードになります。

import java.util.Scanner; 

public class Pregunta { 

    public static void main(String[] args) { 

     Scanner scanner = new Scanner(System.in); 
     System.out.println("Press 0 to exit."); 
     int input = scanner.nextInt(); 

     while (input != 0) 
     { 
      System.out.println(switchUsersInput(input)); 
      System.out.println("Press 0 to exit."); 
      input = scanner.nextInt(); 
     } 
     System.out.println("Finish."); 
    } 



    public static String switchUsersInput(int input) 
    { 
     switch (input) 
     { 
      case 1: 
       return "Example"; 
      case 2: 
       return "Example 2 I didn't get your get.example();"; 
      default: 
       return "Chose something :)"; 
     } 
    } 

} 
+0

多くの助けをしてくれてありがとう、よく説明されています:) –

+0

これを知ってうれしいです。いつもあなたのロジックを書くことを常に考えて、どこからでも呼び出してください – Ringuerel

+0

ええ、私は同じミスをJavaの他の面で何度も繰り返してきましたが、今度はメソッド/クラスの使用を開始しました。 –

関連する問題