亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何返回特定足球俱樂部的所有球員

如何返回特定足球俱樂部的所有球員

呼啦一陣風 2022-01-19 15:38:17
一般來說,我對 IT 或 Stack Overflow 并不陌生,但對 java + oop 很陌生,所以如果語法不正確,請原諒我,我正在嘗試快速升級 java,需要幫助我完成一個項目正在努力改進。我正在嘗試重新創建最基本版本的足球經理,到目前為止,有一個“俱樂部”類和一個“球員”類,我已經創建了幾個俱樂部,具有自己的屬性和價值觀,現在想分配每個俱樂部的球員。我在每個類中都有一個構造函數,它將為每個俱樂部和球員創建單獨的對象,所以當我創建 Marcus Rashford 時,它看起來像這樣..Player MarcRash = new Player("Marcus", "Rashford", "CF", 10, 20, Mutd);Mutd,是我之前創建的一個 Club 對象。10 是他的球衣號碼,20 是他的年齡 //不重要問題:如何在我的Club類中創建一個方法來列出當前分配給每個俱樂部的所有球員?即:所有當前具有與創建它們的最后一個參數相同的對象的所有玩家?void listPlayers(Club club) { //something here}感謝您的任何幫助。
查看完整描述

3 回答

?
幕布斯6054654

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();

  }

}


查看完整回答
反對 回復 2022-01-19
?
LEATH

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 

}


查看完整回答
反對 回復 2022-01-19
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

聽起來您需要一個名為 League 的 Club 類容器。然后 League 類可能包含一個方法,該方法將 Club 對象作為參數并調用 Club 類中的方法以返回其實例中的所有玩家(假設,無論出于何種原因,您需要 League 類中可用的此 API) .

俱樂部的球員將包含在 Club 類的 HashSet 中。所以 Club 類中的類變量將是: HashSet<Player> players;.

不過只是一個注釋。我會使用 HashSet(而不是 ArrayList)來防止同一俱樂部中出現重復的球員——這在現實世界中是不可能的。但是為了使用 HashSet,包含的元素(播放器)需要實現方法equalshashCode.



查看完整回答
反對 回復 2022-01-19
  • 3 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號