简体   繁体   中英

Why is this code giving an “Unreachable Statement” error?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM