两层循环的中断,注意中断退出
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 执行存储过程 无法中断 但是是循环执行 怎么办
单片机中,有一个定时中断函数,在中断里有很长的循环程序,这里问题来了。