根据布尔值更改java中的内容

时间:2016-03-03 20:29:26

标签: java for-loop boolean

我想浏览从0NB_MAX或从NB_MAX0的表格,具体取决于随机布尔值。

我尝试使用?:运算符:

for (int i = (bool) ? 0 : NB_MAX; i < ((bool) ? NB_MAX: 0); i++) {

问题是在i++i--之间切换。

怎么做?

2 个答案:

答案 0 :(得分:2)

如果您在for循环声明中插入三元运算符,那么您的代码就不太可读了。

为循环生成两个会更具可读性,其中一个根据条件输入。

if (bool)
{
    for (int i = 0; i < NB_MAX; i++)
    {
        body(i);
    }
}
else
{
    for (int i = NB_MAX - 1; i >= 0; i--)
    {
        body(i);
    }
}

答案 1 :(得分:1)

应该这样做:

for (int i = (bool) ? 0 : NB_MAX; (bool) ? i < NB_MAX : i > 0; i = (bool) ? i+1 : i-1) { }