加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 16:34:13 所属栏目:Java 来源:网络整理
导读:我正在尝试写下面的“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 ; ((x0)?x--:y++) ) { /* Some work */} 由于编译器说,更新规则不是
我正在尝试写下面的“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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读