这可能是一个愚蠢的问题,但我很困惑.
我有一个for循环,它排除了给定的迭代(随机数).它适用于任何大于0的随机数.但是,如果它为零,它永远不会进行一次迭代:
int x;
for (x = 0; ((x < 2) && (x != r)); x++) {
// do something if (x != r)
}
System.out.println("X : " + x);
Run Code Online (Sandbox Code Playgroud)
例如,它不起作用,r = 0.这不应该意味着它应该跳过第一次迭代但是第二次吗?
上述println产生"X:0".
有帮助吗?谢谢!
如果您只想跳过第一次迭代,则必须x != r在循环内移动条件.具有x != r在循环的条件条件是指循环永远如果同时输入r并x初始化为0,当循环的条件为假,因为循环终止.
for (x = 0; x < 2; x++) {
if (x != r) {
// do something if (x != r)
}
}
Run Code Online (Sandbox Code Playgroud)