Java“标签Label244缺失”错误

时间:2014-05-30 20:47:58

标签: java eclipse

我在错误列表中看到此错误,但似乎无法找到它的修复程序。我尝试的一切似乎没有什么区别。

  if (this.mouseX >= 522 + paddingX + (clientSize >= 1 ? 3 - (this.longTabs ? 240 : 0) : 0)) {
    if (this.mouseX <= 762 + paddingX + (clientSize >= 1 ? 3 - (this.longTabs ? 240 : 0) : 0)) {
      if (this.mouseY >= '©' + (clientSize >= 1 ? 261 + (this.longTabs ? 37 : 0) : 0) + paddingY) {
        if (this.mouseY < '�' + (clientSize >= 1 ? 261 + (this.longTabs ? 37 : 0) : 0) + paddingY) {
          break label244; } //Where the error is
        }
      }
    }
  }

但是标签244设置在这里:

        {
          int i;
          label244: i = 0;
          for (int x = 0; i < 8; x += 30)
          {

我可以通过一些例子告诉我如何解决这些问题吗?我还有其中的17个错误。

1 个答案:

答案 0 :(得分:1)

来自Java Language Specification #14.7(强调我的)

  

[...] Java编程语言没有goto语句;标识符语句标签与break(§14.15)或continue(§14.16)语句一起出现在标签语句中的任何位置。

     

标签声明标签的范围是立即包含的声明

这意味着标签

label244: i = 0;

仅影响i=0。换句话说,它类似于

label244: {
    //here you can use label
    i = 0;
}
//but here label is no longer accessible.

因此在此范围之外不可见/可访问。

如果您想在for范围内使用它,请将其放在它之前(在i = 0;之后移动它)。

int i;
i = 0;
label244: 
for (int x = 0; i < 8; x += 30)
{
    //...
}