一般而言,我不是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的编码准则。变量名,例如
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();
}
}