满足条件后,如何从循环打破(How to break from a loop after the c

2019-09-01 08:25发布

您好我一直在尝试了几个小时了,从这个循环和continue因为已经见过我的病情一次。 我的应用程序几乎读线的意甲并对其进行分析,然后打印的变量声明。 的线条看起来怎么样的一个例子(在不包括在内):

  • 10 C = 9 + 3
  • 20 = C + 1
  • 30打印Ç
  • 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;
        }
}

Answer 1:

使用break声明打破了完全一旦你的条件已经满足一个循环。 Pol0nium的使用建议continue因为这只会停止循环的当前迭代就是不正确的。

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

所有这一切都已经说好形式决定了你要清洁的入口和出口,使得观察者(也许你自己,在以后的日子重温代码)可以轻松地跟踪它的流。 考虑改变控制while循环本身的布尔值。

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

如果由于某种原因,你不能碰,控制while循环布尔,你只需要化合物的条件与标志专门来控制你,而:

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


Answer 2:

你可以通过保持代码booleanValue原样并切换到do-while循环。

do {
 // ... existing code
} while (booleanValue);

然而,回答您的具体问题-你可以随时使用java break关键字。 该continue的关键字是多个用于跳过环路块的其余部分并进入另一个循环迭代。

如果你把这个支票为别的之前,你会立刻退出循环。

if(aString.substring(0, 3).equals("end")) {
    break;
}

作为一个额外的小费,你可能希望使用String.contains(“结束”)或String.endsWith(“结束”) ,而不是子()。 如果这样,使用1或3位(或更多)数你的代码仍然可以工作。



文章来源: How to break from a loop after the condition is met