【发布时间】:2014-11-09 00:25:08
【问题描述】:
我对 Java 比较陌生,作为一个新手,我很难理解代码是如何工作或执行的。大多数情况下,我在一两分钟内找到答案,有时在一两个小时内。但是,我现在已经卡了两天了,恐怕我无法自己解决问题。
我目前正在进行的编程练习已接近完成,除了一点工作不正常:方法 setMaxSize 似乎没有按应有的方式工作。我尝试编辑方法 addPlayer 以制作有关团队最大规模和当前规模的 IF 语句。但是,该方法不会将球员添加到列表中,无论球队列表此时是否为空。我做错什么了?我的错在哪里?如何在 addPlayer 中获取 IF 语句以接受空列表中的新玩家,同时检查团队中可能的最大玩家数量?
如果我能得到任何反馈,我将不胜感激,如果这是一个愚蠢的问题,我深表歉意,但我真的没有耐心了。此外,这不是家庭作业:这是我从我找到的大学网站上在线找到的编程练习,但我无法完成它。
我包括两个类文件和主字段。
import java.util.ArrayList;
public class Team {
private String name;
private ArrayList<Player> list = new ArrayList<Player>();
private int maxSize;
public Team (String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void addPlayer(Player player){
if (list.size() <= this.maxSize){
this.list.add(new Player(player.getName(), player.goals()));
}
}
public void printPlayers(){
for (Player player : list){
System.out.println(player.toString());
}
}
public void setMaxSize(int maxSize){
this.maxSize = maxSize;
}
public int size(){
return this.list.size();
}
public int goals(){
int goalSum = 0;
for (Player player : list){
goalSum+=player.goals();
}
return goalSum;
}
}
public class Main {
public static void main(String[] args) {
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));
System.out.println("Total goals: " + barcelona.goals());
}
}
public class Player {
private String name;
private int goal;
public Player(String name){
this.name = name;
}
public Player(String name, int goal){
this.name = name;
this.goal = goal;
}
public String getName(){
return this.name;
}
public int goals(){
return this.goal;
}
public String toString(){
return "Player: " + this.name + ", goals " + this.goal;
}
}
【问题讨论】:
标签: java class if-statement