2016-03-20 10 views
-2

ArrayListに入れた数字を表示するためにループを使用しようとすると、到達不能コードとは何か間違っています。このような状況で到達不能コードが届くのはなぜですか?

private void nOther1() { 

    ArrayList<Integer> multiples = new ArrayList<Integer>();    
    int n = 1;    
    while (1 <= 100) {     
     multiples.add(n); 
     n++;         
    } 

    // UNREACHABLE CODE 
    for (int num : multiples) { 
      System.out.println(num); 
    } 
} 
+5

「while(1 <= 100)」を「while(n <= 100)」に変更してください –

+0

私はちょうどキャッチしました – TAA

答えて

10

1は常に= 100 <で、コンパイラはそれを知っているので

while (1 <= 100) 

が終了することはありませんので。

詳細な説明は、14.21. Unreachable Statementsを参照してください。

+3

39秒;それは速かった! –

0

この条件while(1 <= 100){はいつもあなたがそう、すべてそのポイントの後ろwhile(true){がそうであるように、それは同じだろうtrue

を返していることは、私はあなたの代わりにしようとして欲しかったと思います実行されませんNEVERコード..

です:

while(n <= 100){     
       multiples.add(n); 
       n++;         
} 
関連する問題