所以我有一个带有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:
答案 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。