2013-05-07 47 views
0

早些時候,我增加了一些功能類:類無法識別正確了

public class ScoreScreen extends BasicGameState 
{ 
    public ScoreScreen(Level level) 
    { 
     //do initializing 
     //A few example lines of code 
     hasWon = level.getWon(); 
     score = level.getScore(); 
    } 

    //The method I added 
    public void saveScores(String levelNumber) 
    { 
     BufferedReader reader; 
     try 
     { 
      reader = new BufferedReader(new FileReader("data/monsters/scores.txt")); 

      String line; 
      int lineCounter = 0; 

      ArrayList<String> scores = new ArrayList<String>(); 

      while ((line = reader.readLine()) != null) 
      { 
       scores.add(lineCounter, levelNumber + totalScore + medal); 
       lineCounter++; 
      } 

     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 

代碼是很難完成,但也有在那裏沒有錯誤。

添加這個小部分後,我的構造函數將不再接受它的參數。如果我嘗試初始化類:

 //'this' is a Level 
     game.addState(new ScoreScreen(this)); 

我得到一個錯誤說

更改構造 'ScoreScreen(級別)' 到 'ScoreScreen(水平)'。

這很奇怪。我讓Eclipse做它的事情來糾正代碼,但Eclipse沒有改變任何東西,代碼仍然不起作用。

在ScoreScreen的構造函數的代碼也返回沿着線錯誤:

方法「getWon()」在未定義爲類型級別。 爲「級別」

添加投起初我以爲這可能是在Eclipse中的錯誤,所以我重新啓動我的電腦並重新啓動Eclipse的,但它並沒有幫助。在另一臺計算機上打開項目也沒有。

編輯:喬恩Skeet是東西。我將課程名稱從Level更改爲Test,現在沒有錯誤。唯一的問題是我找不到第二類叫Level

+3

你是否在任何地方引入了另一個'Level'類?你有任何稱爲'Level'的泛型類型參數嗎? – 2013-05-07 07:12:47

+0

@JonSkeet沒有,也沒有。唯一接近的就是我的LevelScreen類。如果你願意,我可以添加一個鏈接到整個項目,它在Dropbox上。但我認爲你可能會做些什麼。請參閱問題中的編輯。 – 2013-05-07 07:14:38

+1

檢查進口。您可能從另一個庫導入了Class Level。 – bigGuy 2013-05-07 07:20:00

回答

1

在某些IDE中,當他們自動爲try/catch添加代碼時,他們還會添加一條日誌記錄語句。在那個過程中,他們還爲日誌記錄添加了進口數據,就像您在此期間發現的一樣 - java.util.logging.Level 在我的IDE中,我編輯了模板以添加公司的日誌記錄工具。

1

這是因爲在您的項目中有多個Level類。

有關查找問題,請參閱您班級中的導入語句。
同樣的水平級別你期待什麼..?
如果不刪除您班級中錯誤導入的Level,然後導入正確的一個。

+0

Fildor是完全正確的,它是一個記錄類,以某種方式被導入。他比你早,但沒有把它作爲答案。所以,直到他提交它作爲答案,我會接受你的答案。 – 2013-05-07 07:29:01