一般而言,我不是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
}


感谢您的任何帮助。

最佳答案

您的解决方案对我来说似乎是“颠倒的”。与其创建具有固定俱乐部的玩家,不如创建不具有俱乐部的玩家,然后将其分配给俱乐部。

Player marcRash = new Player("Marcus", "Rashford", "CF", 10, 20 );
mutd.add( marcRash );


另外,使用Java进行编程时,请遵循Java的编码准则。变量名,例如marcRushmutd以小写字母开头。

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

08-26 21:29