为什么我会得到身份不明的标签? (爪哇/ Android装置)

时间:2016-02-18 16:30:41

标签: java android

我正在获得一个"身份不明的标签"错误,这是我的代码:

if (this.prevTime > 0L)
    {
        int i = (int)(1.0E-06D * (System.nanoTime() - this.prevTime));
        if (i >= 2000)

            break label76;//unidentified label
        j = 3;
        if (j > 0)
            break label56;//unidentified label
        this.taps[0] = i;
    }

我也尝试过:

if (this.prevTime > 0L)
    {
        int i = (int)(1.0E-06D * (System.nanoTime() - this.prevTime));
        label76:
        if (i >= 2000)
            break label76;//'break' statement unnecessary
        j = 3;
        label56:
        if (j > 0)
            break label56;//'break' statement unnecessary
        this.taps[0] = i;
    }

然后我得到了('断言'语句不必要)。

1 个答案:

答案 0 :(得分:1)

  • 第一种情况:您没有声明标签。
  • 第二种情况:标签处于休息范围内,因此不必要

标签必须放在有意义的行中,并且break语句不够。

当然,您可以参考documentation了解更多信息:

  

未标记的break语句终止最里面的switch,for,while或do-while语句,但带标签的break终止外部语句

请看这个例子:以下程序 BreakWithLabelDemo 使用嵌套的for循环来搜索二维数组中的值。 找到该值后,带标签的break会终止外部for循环(标记为"搜索"):

class BreakWithLabelDemo {
    public static void main(String[] args) {

        int[][] arrayOfInts = { 
            { 32, 87, 3, 589 },
            { 12, 1076, 2000, 8 },
            { 622, 127, 77, 955 }
        };
        int searchfor = 12;

        int i;
        int j = 0;
        boolean foundIt = false;

    search: // <-----------------------------------------------------------*
        for (i = 0; i < arrayOfInts.length; i++) { //                      *
            for (j = 0; j < arrayOfInts[i].length; j++) { //               *
                if (arrayOfInts[i][j] == searchfor) { //                   *
                    foundIt = true;  //                                    *
                    break search;  // -------------------------------------*
                }
            }
        }

        if (foundIt) {
            System.out.println("Found " + searchfor + " at " + i + ", " + j);
        } else {
            System.out.println(searchfor + " not in the array");
        }
    }
}