为什么我的刹车不起作用

时间:2014-06-08 21:52:44

标签: java loops

所以我有一个带有if函数的while循环。当if函数被调用时,我想退出if和while循环并继续我的代码..但是break不让我这样做吗?我该怎么办。

在我的代码中可以看到我把断开INNER;在我的if函数结束然后INNER:在while循环之外,希望它会跳到这里,但我甚至得到一个错误。

while(rob.getPixelColor(594,718).getBlue()!=34){
   System.out.println("3 start queue");
   rob.delay(500);
   if((rob.getPixelColor(754,428).getBlue()>40) && (rob.getPixelColor(754,428).getRed()<30)){ 
      System.out.println("4 start queue");

      rob.delay(500);
      System.out.println("scanning for popup");

      rob.mouseMove(750,408);
      rob.delay(400);
      rob.mousePress(InputEvent.BUTTON1_DOWN_MASK);
      rob.delay(400);
      rob.mouseRelease(KeyEvent.BUTTON1_DOWN_MASK);
      rob.delay(400);
      break INNER;
   }                                
} INNER:

2 个答案:

答案 0 :(得分:2)

INNER: while (...) {
     break  INNER;
     ...
}

标签必须标记循环语句。

答案 1 :(得分:0)

use和boolean变量而不是break语句:

boolean exit = true;
while(rob.getPixelColor(594,718).getBlue()!=34 && exit){
   System.out.println("3 start queue");
   rob.delay(500);
   if((rob.getPixelColor(754,428).getBlue()>40) && (rob.getPixelColor(754,428).getRed()<30)){ 
      System.out.println("4 start queue");

      rob.delay(500);
      System.out.println("scanning for popup");

      rob.mouseMove(750,408);
      rob.delay(400);
      rob.mousePress(InputEvent.BUTTON1_DOWN_MASK);
      rob.delay(400);
      rob.mouseRelease(KeyEvent.BUTTON1_DOWN_MASK);
      rob.delay(400);
      exit = false;
   }                                
} 

如果您在if语句中,则将布尔变量设置为false,并将while循环设置为while,因为条件为false。