在java中的do while循环中只执行一次指令

时间:2010-05-15 15:43:08

标签: java windows

在java中,如何在do while循环中只执行一次指令

do{
    int param;

    //execute this onty one time (depends of param)
    //other instructions instructions

}while(condition)

谢谢

7 个答案:

答案 0 :(得分:5)

将你想要执行的语句只执行一次就是这样做的一种方式,但是,当然,假设语句是在循环的结束或开始时,并且不依赖于所发生的条件在循环中(在之前或之后)。如果您有这样的事情:

do {
  // do some stuff
  // one time condition
  // do some more stuff
} while(condition);

你不会轻易地将这些信息提取到循环之外。如果这是你的问题,我的建议是在一次性语句周围放置某种条件,并在语句运行时更新条件。像这样:

boolean hasRun = false;
do {
  // do some stuff
  if(!hasRun) {
    // one time condition
    hasRun = true;
  }
  // do some more stuff
} while(condition);

答案 1 :(得分:2)

怎么样:

// one-time-code here

do
{
}
while ( condition );

答案 2 :(得分:1)

在任何循环之外放置一个语句将导致每次调用该方法时只执行一次。

答案 3 :(得分:0)

在while循环之外只移动一次要执行的语句。

答案 4 :(得分:0)

假设您想要将代码保留在循环中(其他海报已经提出了将代码移到外面的明显解决方案!),您可以考虑使用标志只执行一次:

boolean doneOnce=false;

do{

  if (!doneOnce) {

    \\execute this only one time

    doneOnce=true;
  }

  \\other instructions instructions

} while (condition)

可能是一个有用的构造,例如,在之前在之前在中只有一次代码时有其他指令。

答案 5 :(得分:0)

添加中断:

do {
        int param;

        //execute this onty one time (depends of param)
        //other instructions instructions

        break;

    } while(condition);

答案 6 :(得分:0)

尝试准确回答您的要求:

bool ranOnce = false;
do{
    int param;

    if (param == SOMECONDITION and !ranOnce){
      doWhatYouWant();
      ranOnce = true;
    }
    //other instructions instructions

}while(condition)

因此您已经拥有了,只需根据参数运行一次