2011-05-25 245 views
1

我是一個新手C++,我想將這行for循環代碼轉換爲java版本如何將此C++ for循環轉換爲java for循環

for(;diff;diff++){ 
    do something here 
} 

diff是一個整數類型變量。 提前致謝。

+0

什麼是'diff'它是POD還是一個類?它是簽名還是未簽名? – RedX 2011-05-25 09:37:25

+0

'diff'開始否定?否則原始循環將循環到INT_MAX,然後循環直到'diff'爲0 - 是會發生什麼?如果不是,那麼檢查的條件應該是'diff <0' – Nim 2011-05-25 09:40:21

回答

4

問題是C允許從int到布爾型的隱式轉換以用於終止條件,而Java不允許。嘗試

for(; diff != 0; diff++) 
{ 

這應該是等效的。

4

在Java中,與C++不同,整數不會自動轉換爲布爾表達式。你必須這樣寫在Java中:

for (; diff != 0; diff++) { 
    // do something here 
}