大家帮忙看看这个程序究竟错在什么地方:public class BreakTest
{
public static void main(String jk[])
{
int j=0;
back:{
for(int i=0;i<10;i++)
{
   if(j==10)  break back;
   j++;
           if(i==3)  { System.out.println("break");  continue back; }
     
        } 
System.out.println("Test");
              }
}
}

解决方案 »

  1.   

    带标签的continue语句,将跳到于标签匹配的循环首部把back:后的一对{}去掉就好了
      

  2.   

    错误在于continue cannot be used outside of a loop如果删除程序中的back 就没有错误了结果是:
    break
    Test不知道是不是你要的结果
      

  3.   

    public class test {
    public static void main(String jk[]) {
    int j = 0;
    back: for (int i = 0; i < 10; i++) {
    if (j == 10)
    break back;
    j++;
    if (i == 3) {
    System.out.println("break");
    continue back;
    } System.out.println("Test");
    }
    }
    }没有大括号,你的语法错误!
      

  4.   

    public class BreakTest 

    public static void main(String jk[]) 

    int j=0; 

    back:
    for(int i=0;i <10;i++) 

       if(j==10)  break back; 
       j++; 
       if(i==3)  { System.out.println("break");  continue back; }        
    }  
    System.out.println("Test"); 

    }如我刚才说的,去掉一对{}
      

  5.   

    我认为语法没错,关键是逻辑有问题:当j==10时,就进行死循环了,永远不会执行System.out.println("Test")
      

  6.   

    我认为:i的作用域是for循环,当i==3时跳转到back标签处,再次进行for循环时i的值再次变为0,不对吗?本例的关键是变量的作用域问题。
      

  7.   

    谢谢各位的关注。
    现在我的问题解决了,这个程序写的很乱,而且即使改对后也不是我想要的结果。原因在于我把CONTINUE的用法弄错了,我的本意是使用CONTINUE原原本本重新开始BACK块,但是CONTINUE的用法只是继续了整个循环中的下一轮循环。之后我使用了WHILE加控制条件,实现了我的本意。
    再次谢谢各位。