nai*_*oon 9 java for-loop while-loop
我正在尝试编写以下'while'循环:
int x = N-1, y = 0;
while ( y < M ) {
/* Some work */
if ( x > 0 )
x--;
else
y++;
}
Run Code Online (Sandbox Code Playgroud)
作为'for'循环.这是我失败的尝试:
for ( int x = N-1, y = 0 ; y < M ; ((x>0)?x--:y++) ) {
/* Some work */
}
Run Code Online (Sandbox Code Playgroud)
这无法编译,因为正如编译器所说,更新规则不是语句.
您是否认为有任何方法可以将上面的'while'循环自然地写为'for'循环?
Dam*_*ash 14
您始终可以将更新规则留空
for ( int x = N-1, y = 0 ; y < M ; ) {
if ( x > 0 )
x--;
else
y++;
}
Run Code Online (Sandbox Code Playgroud)
Pet*_*rey 13
结合条件.
for(int x = N-1, y = 0; y < M ; y += (x > 0)?0:1, x += (x > 0)?-1:0)
Run Code Online (Sandbox Code Playgroud)
我怀疑这应该是两个循环调用一个常见的方法.
for(int x = N - 1; x >= 0; x--)
someMethod(x, 0);
for(int y = 0; y < M; y++)
someMethod(0, y);
Run Code Online (Sandbox Code Playgroud)