是否可以使用for lop来设置对象的条件。如果该条件没有通过测试(if语句),则条件会发生变化,直到通过测试为止?这是我的伪代码尝试,但我怀疑它会起作用:
for (int i = 0; i < myArray.size(); ++i){
myArray.get(i).position = random Position
if(myArray.get(i).position == allowed position){
//Success!
}else{
//re-attempt to change position until it meets criteria
}
}
请不要讨厌,我刚刚开始使用Java。英语不是我的母语
谢谢
答案 0 :(得分:2)
您可以使用while
循环:
myArray.get(i).position = random Position
while (myArray.get(i).position != 100) {
myArray.get(i).position = random Position
}
// Success!
答案 1 :(得分:1)
boolean correctPosition=false;
for (int i = 0; !correctPosition; ++i){
myArray.get(i).position = random Position
if(myArray.get(i).position == 100){
correctPosition=true;
//Success!
}else{
//re-attempt to change position until it meets criteria
}
}
答案 2 :(得分:1)
只需修改您的代码。
for (int i = 0; i < myArray.size(); ++i){
myArray.get(i).position = random Position
if(myArray.get(i).position == allowed position){
break;
//Success!
}else{
//re-attempt to change position until it meets criteria
// countinue
}
}
通过写入break,当你得到你想要的值时你的循环终止。