3

我在 while 循环中有很多 if 语句,程序必须根据条件打印错误消息,但如果有多个错误,它必须只有其中一个。

4

2 回答 2

7

您的问题不是很详细,因此很难说出您到底想要什么。

如果您希望 while 循环在任何错误触发后进入下一次迭代,您应该使用以下continue语句:

while( something )
{
    if( condition )
    {
        //do stuff
        continue;
    }
    else if( condition 2 )
    {
        //do other stuff
        continue;
    }
    <...>
}

如果循环内除了这些ifs 之外没有其他内容,并且条件是整数值,则应考虑switch改用:

while( condition )
{
    switch( errorCode )
    {
        case 1:
        //do stuff;
        break;
        case 2:
        //do other stuff;
        break;
        <...>
    }
}

如果您想完全重新启动循环……那么这有点困难。由于您有一个while循环,您可以将条件设​​置为它的起始值。例如,如果您有这样的循环:

int i = 0;
while( i < something )
{
    //do your stuff
    i++;
}

然后你可以像这样“重置”它:

int i = 0;
while( i < something )
{
    //do your stuff
    if( something that tells you to restart the loop )
    {
        i = 0;//setting the conditional variable to the starting value
        continue;//and going to the next iteration to "restart" the loop
    }
}

但是,您应该非常小心,因为很容易意外获得无限循环。

于 2012-10-05T05:59:05.683 回答
-1
String errorMessage = "No Error";

while( cond){
if( cond 1) {
  errorMessage = " Error 1"
}

if( cond 1) {
  errorMessage = " Error 1"
}

if( cond 1) {
  errorMessage = " Error 1"
}

if( cond 1) {
  errorMessage = " Error 1"
}
}

如果您想在遇到任何错误后中断,请使用break

如果您想在遇到任何错误后忽略当前迭代,请使用continue

如果您想在遇到任何错误后终止执行,请使用exit

于 2012-10-05T05:57:43.123 回答