2016-04-17 6 views
1
public static void harcos1csapatbaHelyez() 
{ 
    for (int i=0 ; i<7 ; i++) 
    { 
     if (ElsoJatekos.elsoJatekosCsapata[i] == 0) 
     { 
      ElsoJatekos.elsoJatekosCsapata[i] = 1; 

      break; //If i dont remove it, it will cause a dead code warning and the for loop will be execute just once! How can I jump out from this loop otherwise? 
     } 
     else 
     { 
      System.out.println("Elérted a maximális csapatlétszámot!"); 
      break; 
     } 
    } 
} 
+1

あなたは完全なループを投稿することができますか?この警告はおそらく壊れた後のコードの残りの部分に関連しています –

+2

なぜあなたはif節とelse節の両方を壊していますか?つまり、ループには1回の繰り返ししかないので、なぜループがあるのでしょうか? – Eran

+0

あなたはループが一度だけ実行されることを認識していますか?あなたが2つの枝でそれを中断している場合 –

答えて

1

問題はあなたがbreakを持っているのではなく、という2つのがあるということです。 breakは両方とも条件付きifステートメントの反対側のブランチにあり、無条件でbreakになります。 ifのコードに関係なく、末尾にbreakがあります。

これは、ループヘッダーからのi++ステートメントが決して実行されないことを意味します。あなたのデッドコードです。

+0

あなたは私の人生を救ったよね、二回目の休憩は不必要だった。おかげさまで多くの人に謝ってくれてありがとう:D –

+1

@FrigyesVass申し訳ありませんが、これはまったく分かりません。 Javaコンパイラは、それを理解するために多くの分析を使用します。あなたのプロジェクトに幸運を祈る! – dasblinkenlight

2

i++が実行されることはありません。ループ内のbreakは、「すぐにループを離れる」ことを意味します。あなたのif/else両方枝はそれを持っているので、最初の反復では、ループの外休憩の両方、およびfori++一部は実行する機会を得ることはありません。 forループの場合は、単にint i = 0;となります。ループするつもりがない場合は、現在ループ本体にあるコード(break;なし)が続きます。

おそらく、あなたは理由のためにループしており、たかだかのブロックのうちbreakである必要があります。

+0

ありがとうございました! –

0

forループとのif-elseその中にこれを持ってあなたのコードが不完全であるが、問題になっているが、ここで私はまだ識別することができます... ...

あなたは慎重に見ている場合がありその中に独特の何かが、他の場合:条件は、これが真である場合、または

はどんなにを意味する...あなたはループを破るが、条件が満たされない場合は、あまりにもループを破る満たされた場合

not ElsoJatekos.elsoJatekosCsapata[i] == 0あなたがループしてになった場合、他のデッドコードの後に​​書かれているALLを...

あなたが実行されることはありませんが解除されます... IDEを把握するのに十分なスマートです...その

IDEが文句を言っている理由である

....

public static void harcos1csapatbaHelyez() 
     { 
     for (int i = 0; i < 7; i++) { 
      if (ElsoJatekos.elsoJatekosCsapata[i] == 0) { 
       ElsoJatekos.elsoJatekosCsapata[i] = 1; 
       break; 
      } else { 
       System.out.println("Elérted a maximális csapatlétszámot!"); 
       break; 
      } 

     // 
     // something else here that is dead-code 
     } 

}

関連する問題