This is my code and im getting an unreachable statement error on it but i do not know why.
public boolean Boardload(String[] args) throws Exception
{
Robot robot = new Robot();
Color color3 = new Color(114, 46, 33);
Color color4 = new Color(180, 0, 0);
{
Rectangle rectangle = new Rectangle(0, 0, 1365, 770);
{
while(false)
{
BufferedImage image = robot.createScreenCapture(rectangle);
search: for(int x = 0; x < rectangle.getWidth(); x++)
{
for(int y = 0; y < rectangle.getHeight(); y++)
{
if(image.getRGB(x, y) == color3.getRGB())
{
return true;
}
}
}
}
}
return false;
}
}
the exact error is:
java:68: unreachable statement
{
^
Help would be nice, this code is supposed to loop until the pixel is found.
I think the problem is that your loop is
while(false) {
This loop never executes, because false != true
. Consequently, the Java compiler is telling you that nothing in the body of the loop will ever execute, and hence it's unreachable.
Try changing your loop to
while (true) {
(the idiomatic "loop forever") and see if that fixes things.
Hope this helps!
while(false)
is always false
and the loop body is never executed: unreachable . Change to while (true)
.
语句while(false)
永远不会在该循环内执行任何操作,因此它们都是不可访问的。
Sorry, but that is some smelly code. I'm not sure what the braces/blocks are doing after declaring your Color local vars, and after declaring your Rectangle var. The main problem for unreachability is while(false)
, which means it will never execute the associated block.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.