import java.util.Scanner;
class testing
{
int i ; int j ;
Scanner sc = new Scanner(System.in) ;
void lolwa()
{
out:
for(i = 0 ; i <= 6 ; i++)
{
System.out.println(i);
}
System.out.println("Enter 1 to restart loop");
System.out.println("Enter 2 to continue till 10");
j = sc.nextInt();
if(j == 1)
{
continue out ;
}
if(j == 2)
{
for(i = 7 ; i <= 10 ; i++)
{
System.out.println(i);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在BlueJ编译它,它说:"未定义的标签输出".我刚学会使用continue语句,所以我无法弄清楚问题
你的out标签"注释"这个for循环:
out:
for(i = 0 ; i <= 6 ; i++)
{
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
因此,为了继续使用标签out,它需要在 for循环中.在for循环结束之后使用它是没有意义的.这将编译,例如:
out:
for(int i = 0; i <= 6; i++)
{
System.out.println(i);
continue out;
}
Run Code Online (Sandbox Code Playgroud)
但是,在这种情况下,您不需要带标签的continue语句.没有含糊之处.只有一个循环可以"继续"出来.
在甲骨文教程很好地解释它.
值得一提的是,我甚至不记得我最后一次使用标记为继续 - 也许永远不会.除非你几乎别无选择,否则我会避开它们.
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |