2011-09-06 120 views
0

以下eclipse中的代码在eclipse中给出了一个“}”在classbody中丢失的情况,但是在终端中编译得很好。任何线索?Eclipse Java:Eclipse抱怨缺少大括号在类中

package quiz; 

    public class Session { 
     static int currentQuestion = 0; 
     private Sentence[] sentences; // for building questions 
     private Question[] questions; 

     public void generateReport(Session publishSession) { 

     } 

     public int getRightQuestionCount() { 

     } 

     public int getWrongQuestionCount() { 

     } 

     public int calculatePercent() { 

     } 
     public Question getQuestionAtIdx(int index) { 
      return questions[index]; 
     } 
     public Question getPreviousQuestion() { 
      return getQuestionAtIdx(--currentQuestion); 
     } 
     public Question getNextQuestion() { 
      return getQuestionAtIdx(--currentQuestion); 
     } 


     public void setQuestionAtIdx(int index, Question) { 

     } 
    } 
+1

尝试剪切并粘贴代码或清理项目。在很多情况下,Eclipse然后识别非错误。 :) – Thomas

+0

此外,getPreviouseQuestion()方法将“ - currentQuestion”描绘为蓝色,但其后的方法getNextQuestion不会。最后}有一个错误,说我应该删除这个令牌 – Asaf

+0

@Asaf ..看看更新后的答案.. ... – ngesh

回答

4

到最后,你声明一个函数有两个参数;为第二个参数指定了类型,但没有名称。也许就是这样。

public void setQuestionAtIdx(int index, Question <<missing name>>) { 

} 
+0

是的,当我用你的代码测试它时,这为我解决了它。 – JeffreyHammansson

+0

干得好,我不敢相信我犯的那种错误。命令行javac没有调用这个命令是否有意义? – Asaf

+0

就像我说的,有时我不能相信我被困在这样的事情上。感谢所有人,但JeffreyHammansson首先钉了它... – Asaf

1

,去年方法

public void setQuestionAtIdx(int index, Question/*has a missing arguement but only its type*/) { 

     } 

所以加

public void setQuestionAtIdx(int index, Question question) { 

     } 
1

我认为这个问题是在这里:

public void setQuestionAtIdx(int index, Question) { }

Question没有标识。

0

Eclipse有时会感到困惑。如果代码在语法上是正确的,请尝试重新启动eclipse。

上面粘贴的代码由于几个问题而无法编译,特别是上面提到的缺少参数名称和返回值。