2013-04-07 42 views
0

我正在用一個Player類和一個Team類建模一個棒球隊。玩家有一些玩家的統計資料(名字,數字,擊球平均數等),而球隊有一系列球員對象,球隊名稱和球隊規模。編譯器找不到我的'getters'

我在Team.java中創建了一個Player對象數組,並使用一個簡單的'for'循環來搜索我的數組。但是,我得到了多個編譯時錯誤,說編譯器找不到我在Player.java中的任何'getters'。

下面是在Team.java使用這樣一個循環我battingAverage方法:

public double battingAverage() { 
    double sum = 0.0; 
    for (int i = 0; i<size; i++) { 
     sum = sum + team[i].getAverage; 
    } 
    return (sum/size); 
} 

這裏是在Player.java的 '吸'

public double getAverage() { 
    return average; 
} 

(平均聲明爲私人領域的動態,並通過構造函數給出的值)

這是編譯器給我的錯誤:

./Team.java:21: cannot find symbol 
symbol : variable getAverage 
location: class Player 
     sum = sum + team[i].getAverage; 
         ^

這種類型的錯誤重複我在Team.java(getPosition,getName等)中使用的所有'getters'。

但是,我知道,編譯器識別團隊[我]爲單一Player對象,因爲我也得到了以下錯誤:

./Team.java:21: operator + cannot be applied to double,Player.getAverage 
      sum = sum + team[i].getAverage; 
       ^

所以在我看來,由於某些原因,getAverage只是不能在Player.java中找到,我無法弄清楚爲什麼。

任何幫助你可以提供將不勝感激。

回答

6

而不是

sum = sum + team[i].getAverage; 

使用

sum = sum + team[i].getAverage(); 

這是不帶參數你調用一個方法,而不是您要訪問的公共領域。

1

sum = sum + team[i].getAverage(); 
0

你忽略了括號,當你在循環中調用getAverage您應該使用。所有的方法調用都必須緊接着括號,即使它們沒有參數。

0

你不是一個訪問屬性,而是你正在調用一個方法。所以這就是爲什麼這個錯誤正在顯示。 change sum = sum + team[i].getAverage;到此sum = sum + team[i].getAverage();

+0

謝謝!我盯着我的電腦一個小時,現在我覺得很蠢。它總是小事情。 – user2098119 2013-04-07 02:01:56

+0

如果有幫助,請隨時點擊向上按鈕和複選標記:) – KyelJmD 2013-04-07 02:23:01