有没有办法在Java中做这样的事情?
for (int i = 0; if (a) { i < x } else { i < y }; i++) { ... }
提前致谢。
答案 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++){}
必须要问你为什么要......