2010-10-27 229 views
5

我创建了一个方法,并不断收到一个错误,我需要在我的方法结尾包含}。我把}进去,错误仍然存​​在!如果我然后删除那个}在先前的方法上会弹出同样的错误;而那个错误以前没有。换句话说,如果我在最近的方法中键入},那么错误就会停留在那里,只有那里。如果我删除它,它会在我之前的方法上重复该错误。语法错误:插入}完成ClassBody

private void putThreeBeepers() { 
for (int i = 0; i < 2; i++) { 
    putBeeper(); 
    move(); 
} 
putBeeper(); 
} 
private void backUp() { 
turnAround(); 
move(); 
turnAround(); 
    } 
+0

这是抱怨失踪}终止类 - 是在?此外,您的格式已被破坏 - 您正在混合标签和空格。看看它,它看起来并不正确。 – EboMike 2010-10-27 04:50:06

+0

当我试图复制和粘贴代码时,格式化得到了所有的困难,但让它留在此窗口中的“在此处插入代码”区域。 – LuxuryMode 2010-10-27 04:51:24

+0

你能提供编译器的确切错误信息吗? – TofuBeer 2010-10-27 04:53:18

回答

5

你真的想到你的文件的顶部,一直到底部进行正确和一致的缩进。

例如...

private void putThreeBeepers() 
{ 
    for (int i = 0; i < 2; i++) { 
     putBeeper(); 
     move(); 
    } 

    putBeeper(); 
} 

private void backUp() 
{ 
    turnAround(); 
    move(); 
    turnAround(); 
} 

奇怪的是,沿线某处,你缺少一个}。你的描述不是很清楚,但是如果你发布的代码是你实际上已经在你的文件中格式化的话,那么你可能错过了某个地方的东西.​​.....而糟糕的缩进使得它很难被发现。

消息正在改变的事实令人困惑,但这是您在这些情况下看到的事情。

+0

在我的实际代码中,格式/缩进是完美的(我认为...)。我只是无法正确地将代码转移到这里。 – LuxuryMode 2010-10-27 04:55:32

+0

谢谢@ebomike。任何想法在Eclipse中是什么? – LuxuryMode 2010-10-27 04:55:57

+1

使用Eclipse,尝试Ctrl + Shift + F(如果源不在版本控制下,您可能希望保存备份副本),它应该格式化源代码。据推测,任何错误都应该出现在那里(我不使用Eclipse,所以不知道如果代码存在问题会怎么做)。 – TofuBeer 2010-10-27 05:01:42

4

错误可能是误导。就我而言,我有不正确/不完整的注释语句,如低于该坏了导致这种错误:

/* 
// */ 
*/ 

固定的评论固定的错误。希望这可以帮助。谢谢。

+0

在jsp中寻找不平衡的呢! – user1914881 2014-07-10 18:25:43

2

我认为这可能是由许多不同的问题引起的。 :(

在我的情况是,我已经忘记了指定在我的方法declareations之一的两个参数的类型 要解决,我不得不改变这一点: onUpgrade(SQLiteDatabase PDB,pOldVersion,pNewVersion) {

} 这样: onUpgrade(SQLiteDatabase PDB,INT pOldVersion,INT pNewVersion)

1

从PDF电子书复制代码时,这可能是由于无形的字符数 小心的小红点 ''

选择'选择第一个字符' - >然后删除它。

Invisible Chars when copying code from PDF ebook

0

另外,如果你不小心写一个方法之外的if语句可能会出现同样的错误。由于我只查看了支架匹配,所以我一直忽略它。

0

我只是简单地增加一个“}”,让作为“}}”,那么问题就解决了

我没有把花药“}”我的其他Java代码运动。

我是个初学java,我遇到同样的问题,所以我在网上搜索发现这个thread.Hope此帮助

0

有同样的问题。原来是一个非常根本的监督。 我在宣布这样一个类的属性:

private Texture foo; 
private Sprite bar; 
foo = new Texture(); 
bar = new Sprite(); 

这个错误是我已经实例化的功能之类的 外foo和bar变量。当我把

foo = new Texture(); 
bar = new Sprite(); 

到他们正确的功能(如下),错误消失了。

private Texture foo; 
private Sprite bar; 
// function 
public void instantiateVariables(){ 
foo = new Texture(); 
bar = new Sprite(); 
} 
0

我得到这个错误,由于缺少<%

0

以下是这些步骤。

  1. 只要复制粘贴代码在记事本从Java文件
  2. 删除备份
  3. 再次复制记事本并粘贴到的Java文件。
  4. 错误消失。
相关问题