gpt4 book ai didi

java - 如何在满足条件后从循环中跳出

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:49:21 25 4
gpt4 key购买 nike

嗨,过去一个小时我一直在尝试打破这个循环并继续,因为我已经满足了我的条件一次。我的应用程序几乎读取一系列行并对其进行分析,然后打印声明的变量。线条的示例(不包括 .):

  • 10 c = 9+3
  • 20 a = c+1
  • 30 打印 c
  • 40 转到 20
  • 50 结束

一切正常,当它到达第 40 行时按预期转到第 20 行,但我希望它转到第 50 行,因为已经去过第 40 行一次。这是我这部分的代码:

while(booleanValue)
{
if(aString.substring(0, 4).equals("goto"))
{
int chosenLine = Integer.parseInt(b.substring(5));
if(inTheVector.contains(chosenLine))
{
analizeCommands(inTheVector.indexOf(chosenLine));
i++;
}
else
{
System.ou.println("Line Was Not Found");
i++;
}
}

else if(aString.substring(0, 3).equals("end"))
{
System.out.println("Application Ended");
booleanValue = false;
}
}

最佳答案

一旦您的条件得到满足,使用break 语句完全跳出循环。 Pol0nium 关于使用 continue 的建议是不正确的,因为这只会停止循环的当前迭代。

while(foo)
{
if(baz)
{
// Do something
}
else
{
// exit condition met
break;
}
}

综上所述,良好的形式表明您需要干净的入口点和导出点,以便观察者(可能是您自己,日后重新访问代码)可以轻松地遵循其流程。考虑更改控制 while 循环本身的 boolean 值。

while(foo)
{
if(baz)
{
// Do something
}
else
{
// Do something else
foo = false;
}
}

如果出于某种原因,您无法触及控制 while 循环的 boolean 值,您只需要将条件与专门用于控制 while 的标志复合:

while(foo && bar)
{
if(baz)
{
// Do something
}
else
{
// Do something else
bar = false;
}
}

关于java - 如何在满足条件后从循环中跳出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16269589/

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