Почему этот код выдает ошибку «Недоступное заявление»? - PullRequest
0 голосов
/ 16 февраля 2012

Это мой код, и я получаю ошибку недостижимого оператора, но я не знаю, почему.

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;
    }
} 

точная ошибка:

java:68: unreachable statement
         {
         ^

Справка была бы хорошаэтот код должен повторяться до тех пор, пока пиксель не будет найден.

Ответы [ 4 ]

6 голосов
/ 16 февраля 2012

Я думаю, что проблема в том, что ваш цикл

while(false) {

Этот цикл никогда не выполняется, потому что false != true. Следовательно, компилятор Java сообщает вам, что в теле цикла ничего не будет выполнено, и поэтому он недоступен.

Попробуйте изменить цикл на

while (true) {

(идиоматический "цикл навсегда") и посмотрите, исправит ли это вещи.

Надеюсь, это поможет!

3 голосов
/ 16 февраля 2012

while(false) всегда false, а тело цикла никогда не выполняется: недоступно . Изменить на while (true).

2 голосов
/ 16 февраля 2012

Извините, но это какой-то вонючий код.Я не уверен, что делают фигурные скобки / блоки после объявления ваших локальных переменных Color и после объявления вашей Rectangle var.Основная проблема недоступности - while(false), что означает, что он никогда не выполнит связанный блок.

2 голосов
/ 16 февраля 2012

Оператор while(false) никогда не выполнит ничего внутри этого цикла, поэтому все это недостижимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...