实现条件for循环

时间:2018-02-21 00:35:20

标签: java

有没有办法在Java中做这样的事情?

for (int i = 0; if (a) { i < x } else { i < y }; i++) { ... }

提前致谢。

2 个答案:

答案 0 :(得分:3)

一种干净的方法是将边界存储在int变量中,然后根据初始条件选择相应的变量:

int bound;
if (a) {
    bound = x;
} else {
    bound = y;
}

for (int i = 0; i < bound; i++) {
    ...
}

您可以使用三元运算符进行此类分配,例如

int bound = a ? x : y;

或直接在 for循环

for (int i = 0; i < (a ? x : y); i++) {
    ...
}

请注意,使用第一种方法,条件只会被评估一次。如果它可以在循环内更改,则需要在内部更新。

答案 1 :(得分:2)

STRING: 00013132330007

for(int i = 0; a ? (i<x) : (i<y); i++){}

必须要问你为什么要......