2011-09-06 122 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。

上面粘貼的代碼由於幾個問題而無法編譯,特別是上面提到的缺少參數名稱和返回值。