gpt4 book ai didi

java - 使用大量 if 语句缩短 while 循环

转载 作者:行者123 更新时间:2023-11-30 06:54:44 25 4
gpt4 key购买 nike

我有以下代码:

while (something < something) {
array2.clear();
}
}

如何缩短这个循环,它看起来非常重复,尤其是前 4 个 if 语句。我应该使用 switch 语句吗?如果是这样,您能给我一个使用我的 if 语句之一的示例吗?

最佳答案

我会使用带有枚举的循环

enum Direction {
NORTH(0, +1), SOUTH(0, -1), EAST(+1, 0), WEST(-1, 0);
public final int x, y;
Direction(int x, int y) { this.x = x; this.y = y; }
}

然后你可以按随机顺序循环它们

List<Direction> dirs = Arrays.asList(Direction.values());
while (visitedCells < totalCells) {
Collection.shuffle(dirs);
boolean found = false;
for (Direction dir : dirs) {
int x2 = x + dir.x;
int y2 = y + dir.y;
if (0 <= x2 && x2 < sizeX && 0 <= y2 && y2 < sizeT && cells[x2][y2].checkWalls()) {

visitedCells++;
found = true;
break;
}
}
if (!found) {

}
}

关于java - 使用大量 if 语句缩短 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42073920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com