我在Java中有四个几乎相同的循环,使用不同的方法:
int Point;
for (int i = 0; i < 10; i++)
{
if (isLeft())
Point = i;
}
for (int i = 0; i < 10; i++)
{
if (isRight())
Point = i;
}
for (int i = 0; i < 10; i++)
{
if (isAbove())
Point = i;
}
for (int i = 0; i < 10; i++)
{
if (isUnder())
Point = i;
}
我可以将所有循环合并到一个吗?
答案 0 :(得分:1)
您可以使用||
运算符链接条件:
for (int i = 0; i < 10; i++) {
if (isLeft() || isRight() || isAbove() ||isUnder()) {
Point = i;
}
}
答案 1 :(得分:1)
如果希望保留当前控制流,则无法合并循环。
目前:
isRight
将不会被调用,直到isLeft
将不再被调用,等等。Point
是isUnder
的结果比isAbove
等更强大的功能。您可以考虑在||
语句中使用if
,但我认为您可能会引入错误,当然假设代码当前按预期运行。
答案 2 :(得分:0)
不太确定你要做什么,因为所有的条件似乎都会改变指向迭代器的最后一个值9的值。 但是下面的代码段可以让你这样做。
for (int i = 0; i < 10; i++){
if (isLeft())
int Point = i;
if (isRight())
int Point = i;
if (isAbove())
int Point = i;
if (isUnder())
int Point = i;
}
另一个版本将联合所有条件
for (int i = 0; i < 10; i++) {
if (isLeft() || isRight() || isAbove() ||isUnder()) {
Point = i;
}
}