两层循环的中断,注意中断退出

Posted 柳鲲鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两层循环的中断,注意中断退出相关的知识,希望对你有一定的参考价值。

  昨天改了点代码,后来简单测试时发现出错了。于是定位到代码。

原来代码:

while (pos > areaStart && ch != '\\n' && ch != '\\t')
{
    pos--;
}

因为后面的字符判断太多,所以改成了新代码:

while (pos > areaStart)
{
    for (char item : SUPPER_FRACTION_CHARS)
    {
        if (ch == item)
        {
            break;
        }
    }
    pos--;
}

  反复检查也没发现问题。DEBUG了一下才发现问题出在中断循环上。吾只管中断出for,没有想到外层还有一个while。于是改成:

boolean breakFlag = false;
while (pos > areaStart)
{
    ch = doc.getChar(pos);
    for (char item : SUPPER_FRACTION_CHARS)
    {
        if (ch == item)
        {
            breakFlag = true;
            break;
        }
    }
    if (breakFlag)
    {
        break;
    }
    pos--;
}

以上是关于两层循环的中断,注意中断退出的主要内容,如果未能解决你的问题,请参考以下文章

oracle 执行存储过程 无法中断 但是是循环执行 怎么办

Java 循环 - 中断?继续?

如何在while循环中手动中断光标?

单片机中,有一个定时中断函数,在中断里有很长的循环程序,这里问题来了。

Shell基础:使用for循环结构使用while循环结构基于case分支编写脚本使用Shell函数中断及退出

138-循环的中断continue,goto和return结束循环