java - 如何返回特定足球俱乐部的所有球员
问题描述
一般来说,我对 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();
}
}
推荐阅读
- flutter - 如何使用 ThemeData backgroundColor 获取 Colors.blue[100]?
- php - Symfony 4迁移实体表单验证使用validation.yaml
- ansible - 使用 Ansible 时格式化字符串事实列表
- angular - GraphQL 角度阿波罗客户端。从缓存中读取抛出错误,但对服务器的相同查询工作正常
- mysql - MySQL COUNT(Value) 在某些日期之间返回错误的计数值
- javascript - JSON parse/stringfy 添加额外数据
- c# - c# Nunit 获取所有忽略的测试计数和名称
- lua - 尝试在 lua 中索引一个 nil 值
- python - 如何在 tensorflow v2 中启用 cuda 统一内存
- php - 用php替换url中的句号