私がdoを書いた時からの年齢。
これの何が問題なのか
int i = 0;
do {
System.out.println(i);
} while(++i == 500);
私はループを1回だけ通過し、IMOは500回繰り返す必要があります。
私がdoを書いた時からの年齢。
これの何が問題なのか
int i = 0;
do {
System.out.println(i);
} while(++i == 500);
私はループを1回だけ通過し、IMOは500回繰り返す必要があります。
あなたはおそらく意味しました
while (++i < 500);
それ以外の
while (++i == 500);
これはdo-while
Javaのrepeat-until
ループであり、Pascalのループではありません。その式は、終了条件ではなく、継続条件を指定します。
do {
System.out.println(i);
} while(++i != 500);
それはあなたの状態のために一度だけ繰り返されます。while (++i == 500)
++i
1になり、500になることはないため、falseと評価され、続行されません。
while(++i != 500)
{
System.out.println(i);
}
より良い方法です。
コードでは、最初はiの値(つまり0)が出力されます。これは、do whileであり、ループ内のコードを少なくとも1回実行する必要があるためです。
そして今、状態がチェックされます。++ iが500(つまり、1 == 500)に等しい場合、falseが返され、ループが中断することがチェックされます。
while(++ i <500);
条件を上記のステートメントに変更すると、iの値が500になるまでループが続行する場合があります。