如何使用for each循环计算每个球员的进球数,并将其返回到Team
类中的goals()
方法中?我知道我的当前返回语句是错误的,我不确定应该放什么:
import java.util.ArrayList;
public class Team {
private String teamName;
private ArrayList<Player> list;
private int maxSize = 16;
public Team(String teamName) {
this.teamName = teamName;
this.list = new ArrayList<Player>();
}
public String getName() {
return this.teamName;
}
public void addPlayer(Player player) {
if (list.size() < this.maxSize) {
this.list.add(player);
}
}
public void printPlayers() {
System.out.println(list);
}
public void setMaxSize(int maxSize) {
this.maxSize = maxSize;
}
public int size() {
return list.size();
}
public int goals(){
for(Player goals : list){
}
return list;
}
}
public class Player {
private String playerName;
private int goals;
public Player(String playerName) {
this.playerName = playerName;
}
public Player(String playerName, int goals) {
this.playerName = playerName;
this.goals = goals;
}
public String getName() {
return this.playerName;
}
public int goals() {
return this.goals;
}
public String toString() {
return "Player: " + this.playerName + "," + goals;
}
}
public class Main {
public static void main(String[] args) {
// test your code here
Team barcelona = new Team("FC Barcelona");
Player brian = new Player("Brian");
Player pekka = new Player("Pekka", 39);
barcelona.addPlayer(brian);
barcelona.addPlayer(pekka);
barcelona.addPlayer(new Player("Mikael", 1)); // works similarly as the above
System.out.println("Total goals: " + barcelona.goals());
}
}
list.stream().mapToInt(Player::goals).count()
来使用聚合函数。请参阅Java 8中引入的Stream
接口。 :-) - Buhake Sindi