在以下代码中:
boolean condition=false;
do{
condition=expression;
if(condition)
{
// subprogram 2
}
// subprogram 1
}while(condition1);
我只想执行一次子程序 2(当“条件”从假变为真时,它会在之后保持真),而 do-while 循环继续前进。
有没有办法做到这一点?
在以下代码中:
boolean condition=false;
do{
condition=expression;
if(condition)
{
// subprogram 2
}
// subprogram 1
}while(condition1);
我只想执行一次子程序 2(当“条件”从假变为真时,它会在之后保持真),而 do-while 循环继续前进。
有没有办法做到这一点?
bool ifStatementRan = false;
do{
condition=expression;
if(condition && !ifStatementRan )
{
ifStatementRan = true;
// subprogram 2
}
// subprogram 1
}while(condition1);
您可能希望使用比“ifStatementRan”更具描述性的变量名称来描述 if 语句的作用。
您可以为子程序 2 使用完成标志。
boolean condition=false;
boolean subProgram2Done = false;
do{
condition=expression;
if(condition && subProgram2Done == false )
{
// subprogram 2
subProgram2Done = true;
}
// subprogram 1
}while(condition);
boolean JustFirstTime=true;
int x = 0;
while(x < 10){
if(JustFirstTime)
{
// subprogram 2
JustFirstTime= false;
}
// subprogram 1
x++;
};