do{
int param;
//execute this onty one time (depends of param)
//other instructions instructions
}while(condition)
谢谢
答案 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)
因此您已经拥有了,只需根据参数运行一次 。