我们如何从另一种方法访问带标签的语句

时间:2017-04-17 05:08:28

标签: java label

我需要从方法2,方法2的onclick函数访问方法1中的循环

method1()
{
label:
for(i=0;i<n;i++){
System.out.println("something");
}
}


method2()
{
continue label;
}

4 个答案:

答案 0 :(得分:1)

在这种情况下,您似乎可以调用method1(),因为标签位于方法的开头。

如果标签不在方法的开头,则可以创建一个新方法,使标签IS位于方法的开头。所以而不是:

method1()
{
    thing11();
    label:
    thing22():
    thing33():
}

method2()
{
    continue label;
}
你可以这样做:

method1()
{
    thing11();
    label:
    method3():
}

method2()
{
    method3();
}

method3()
{
    thing22():
    thing33():
}

答案 1 :(得分:1)

void forLoop() {  
    for(i=0;i<n;i++){
        System.out.println("something");
    }
}    

method1() {
    forLoop();
}

method2() {
    forLoop();
}

取出for循环并将其放在另一个方法中,以便两个方法都可以访问它。这是实现目标的另一种方式。

答案 2 :(得分:0)

你做不到。这是不可能的。

Java中唯一完全非本地的控制流构造是例外。你可以用例外和蹦床来装备一些东西。

答案 3 :(得分:0)

您需要做的是将循环重构为第三种方法,并从method1method2调用它。在Java中,你不能跳过&#34;跳跃&#34;从一种方法到另一种方法,就像你所描述的一样。