2011-05-25 181 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 
}