java – “for”循环中的复杂更新规则

前端之家收集整理的这篇文章主要介绍了java – “for”循环中的复杂更新规则前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试写下面的“while”循环:
int x = N-1,y = 0;

while ( y < M ) {

    /* Some work */

    if ( x > 0 )
        x--;
    else 
        y++;

}

作为“for”循环.这是我失败的尝试:

for ( int x = N-1,y = 0 ; y < M ; ((x>0)?x--:y++) ) {
    /* Some work */
}

由于编译器说,更新规则不是一个语句,所以无法编译.

你有没有办法自然地将’while’循环写成’for’循环?

解决方法

结合条件.
for(int x = N-1,y = 0; y < M ; y += (x > 0)?0:1,x += (x > 0)?-1:0)

我怀疑这应该是两个循环调用一个常见的方法.

for(int x = N - 1; x >= 0; x--)
     someMethod(x,0);
 for(int y = 0; y < M; y++)
     someMethod(0,y);

猜你在找的Java相关文章