【发布时间】:2013-04-29 00:27:41
【问题描述】:
嗨,过去一个小时我一直在尝试打破这个循环并继续,因为我已经满足了一次我的条件。我的应用程序几乎读取了一系列行并对其进行分析,然后打印出所述变量。线条的外观示例(不包括 .):
- 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;
}
}
【问题讨论】:
-
小改进:您可以将
aString.substring(0, 4).equals("goto")替换为aString.startsWith("goto")。短于 4 个字符的 String 更具可读性和安全性。 -
您将需要一个命令来说出
if <condition> statement并对其进行评估。 -
也许“继续”关键字会起作用?
-
我注意到在格式化您的代码时,他们的
}缺少第一个if -
你的
if-else-if-else块的顺序很奇怪。else if应该在else之前。
标签: java loops while-loop break