3 回答

TA貢獻1876條經驗 獲得超7個贊
你的解決方案對我來說似乎是“顛倒的”。與其創建具有固定俱樂部的球員,不如創建一個沒有俱樂部的球員,然后將他們分配到一個俱樂部。
Player marcRash = new Player("Marcus", "Rashford", "CF", 10, 20 );
mutd.add( marcRash );
在使用 Java 編程時,請遵循 Java 的編碼指南。變量名稱marcRush和mutd以小寫字母開頭。
在里面Club,你可以只列出已經添加的玩家。
public class Club {
private ArrayList<Player> members = new ArrayList<>();
public void add( Player player ) {
members.add( player );
}
public String listMemebers() {
if( members.size() == 0 ) return "";
StringBuilder sb = new StringBuilder();
for( Player p : members ) {
sb.append( p.getFirstName() );
sb.append( " " );
sb.append( p.getLastName() );
sb.append( ", " );
}
sb.setLength( sb.length()-2 );
return sb.toString();
}
}

TA貢獻1936條經驗 獲得超7個贊
您可以像這樣為 Club 對象創建一個列表
https://docs.oracle.com/javase/8/docs/api/java/util/List.html
List<Player> players; 在您的構造函數中,您將每個玩家添加到列表中。這種類型的結構將允許您擁有與俱樂部相關的所有球員
然后你可以建立你的方法來打印列表中的每個對象
List<Player> listPlayers(Club club) {
//Loop through the elements on the list
// print each Player
}

TA貢獻1963條經驗 獲得超6個贊
聽起來您需要一個名為 League 的 Club 類容器。然后 League 類可能包含一個方法,該方法將 Club 對象作為參數并調用 Club 類中的方法以返回其實例中的所有玩家(假設,無論出于何種原因,您需要 League 類中可用的此 API) .
俱樂部的球員將包含在 Club 類的 HashSet 中。所以 Club 類中的類變量將是: HashSet<Player> players;
.
不過只是一個注釋。我會使用 HashSet(而不是 ArrayList)來防止同一俱樂部中出現重復的球員——這在現實世界中是不可能的。但是為了使用 HashSet,包含的元素(播放器)需要實現方法equals
和hashCode
.
添加回答
舉報