重试for循环?

时间:2014-02-08 05:43:02

标签: java try-catch

是否可以使用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。英语不是我的母语

谢谢

3 个答案:

答案 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,当你得到你想要的值时你的循环终止。