почему я получаю Undefinedlabel ошибку в Java? - PullRequest
1 голос
/ 23 апреля 2010

почему я получаю неопределенную ошибку метки в следующем коде ??я игнорирую код, поскольку он бесполезен ...

 loopLabel: 
 for(i=0;;i++)
 {
   { some code;
   }
   { come code;
   }
 }

 if(condition)
 {
     if(condition)
     { some code     }
     else 
     { 
           some code;
           continue loopLabel;
     }
 }

Ответы [ 2 ]

4 голосов
/ 23 апреля 2010

continue используется для перехода к началу новой итерации цикла;Вы используете метку, если у вас есть вложенные циклы, и вы хотите указать, к какой из них перейти.Вы пытаетесь использовать его как goto, чтобы перейти к совершенно не связанному фрагменту кода, что недопустимо

Легальное использование - это что-то вроде:

foo:
while(cond1) {
    code;
    while(cond2) {
        if(cond3) {
            continue foo;
        }
    }
}

( Java руководство по операторам ветвления )

2 голосов
/ 23 апреля 2010

Потому что вы вне цикла. Метка видна только внутри цикла.

Метки используются только для разрыва и продолжения циклов.

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