2

私がdoを書いた時からの年齢。

これの何が問題なのか

int i = 0;
    do { 
        System.out.println(i);
    } while(++i == 500);

私はループを1回だけ通過し、IMOは500回繰り返す必要があります。

4

5 に答える 5

21

あなたはおそらく意味しました

while (++i < 500);

それ以外の

while (++i == 500);
于 2012-05-31T13:05:26.957 に答える
14

これはdo-whileJavaのrepeat-untilループであり、Pascalのループではありません。その式は、終了条件ではなく、継続条件を指定します。

do { 
    System.out.println(i);
} while(++i != 500);
于 2012-05-31T13:07:08.193 に答える
1

それはあなたの状態のために一度だけ繰り返されます。while (++i == 500) ++i1になり、500になることはないため、falseと評価され、続行されません。

于 2012-05-31T13:07:40.297 に答える
0
while(++i != 500)
{
    System.out.println(i);
}

より良い方法です。

于 2013-04-17T20:25:38.350 に答える
0

コードでは、最初はiの値(つまり0)が出力されます。これは、do whileであり、ループ内のコードを少なくとも1回実行する必要があるためです。
そして今、状態がチェックされます。++ iが500(つまり、1 == 500)に等しい場合、falseが返され、ループが中断することがチェックされます。

while(++ i <500);

条件を上記のステートメントに変更すると、iの値が500になるまでループが続行する場合があります。

于 2014-08-14T11:10:39.967 に答える