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条经验 获得超6个赞
您可以像这样为 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
.
添加回答
举报