2012-05-31 57 views
2

因爲我已經寫了一段時間。雖然語法爲java

哪些錯誤和這事而

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

我只能通過循環去一次,IMO應重複500次。

+1

它應該是「等於」 500多少次? – FatalError

+3

它應該是'++ i!= 500'。 – MartinK

+1

試試'++ i!= 500' – yatul

回答

21

你可能是指

while (++i < 500); 

,而不是

while (++i == 500); 
15

這是一個do-while循環的Java,而不是repeat-until循環帕斯卡的。其表達式指定延續條件,而不是退出條件

do { 
    System.out.println(i); 
} while(++i != 500); 
1

由於您的條件,它只會迭代一次。 while (++i == 500)++i將是1而不是500,因此它的計算結果爲false並且不會繼續。

+2

我不確定它會是2. –

+0

你是對的,我應該首先看數字。它不會是2,但它永遠不會是500。 – firelore

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

是更好的方法。

0

在您的代碼中,最初i(即0)的值將被打印出來,因爲它是做的,而循環內的代碼應該至少執行一次。
然後現在檢查條件。將檢查如果++ i等於500(即1 == 500),則返回false並因此循環中斷。

while(++ i < 500);

改變條件上述聲明可能導致循環繼續,直到i的值變爲500