我如何根据 boolean 值选择for循环上的增量,我正在尝试做这样的事情:
for (int y = iniY; isdown? (y >= endY): (y <= iniY+dy) ; isdown? --y:y++);
for 循环接受终止但不接受增量...
我目前的工作代码是这样的:
if(isdown)
for (int y = iniY; y >= endY; --y) {
code lines...
}
else
for (int y = iniY; y <= iniY+dy; ++y) {
code lines...
}
代码无法提取到新方法,因为它适用于许多变量...
最佳答案
与 minitech 的解决方案类似,但循环内没有分支。
int end = isdown ? iniY - endY : dy;
int direction = isdown ? -1 : +1;
for(int i = 0; i <= end; i++) {
int y = iniY + direction * i;
…
}
关于java - for 循环上的不同增量取决于 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19068150/