2015-03-24 2 views
0
package brea; 

public class BreakExample { 

    static String o =""; 
    public static void main(String[] args) { 
     z: 
     o = o +2; 
    for(int x = 3 ; x < 8 ; x++){ 
     if(x == 4) break; 
     if(x==6) break z; 
     o = o+x; 
    } 
     System.out.println(o); 
    } 
} 

В приведенном выше коде я получаю ошибку компиляции, поскольку метка z отсутствует. какова причина ? Что может быть решением?ярлык z отсутствует ошибка компиляции при использовании перерыва z

ответ

3

A label is followed by a statement. В вашем случае, это утверждение только

o = o + 2; 

Так z только в области видимости этого заявления.

Сфера действия ярлыка с надписью с надписью - это немедленно , содержащий заявление.

Если вы хотите z быть в рамках для for заявления, добавить блок заявление

z: { 
    o = o + 2; 
    for (int x = 3; x < 8; x++) { 
     if (x == 4) 
      break; 
     if (x == 6) 
      break z; 
     o = o + x; 
    } 
} 
Смежные вопросы