public class BaseBallPlayer { private String pname;//球员名称 public BaseBallPlayer (String name) { pname=name; } public void strikeBall() {//击球 System.out.println(pname+" strikes the ball!"); } public void catchBall() {//接球 System.out.println(pname+" catches the ball!"); } public void runBase() {//跑垒 System.out.println(pname+" runs to the base!"); } }基于这段代码,设计BaseBallTeam类,除构造方法和继承的属性或方法外,仅对外提供addPlayer和startGame方法。BaseBallTeam可以存放多个类型为Striker或Catcher的球员。(1)addPlayer方法的功能为:若当前 BaseBallTeam 未满员,则添加一个球员 对象到 BaseBallTeam 中,否则打印“球队满员,请另寻他处。” 2) startGame 方法的功能为:若球员人数大于 0,则让当前 BaseBallTeam 中 的全部球员对象逐一进行游戏,否则打印“没有球员可以开始游戏。”
时间: 2024-03-19 12:44:30 浏览: 59
可以在`BaseBallTeam`类中使用数组来存放球员对象,并实现`addPlayer`和`startGame`方法,代码如下:
```
public class BaseBallTeam {
private static final int MAX_PLAYERS = 10; // 最多球员数
private BaseBallPlayer[] players; // 球员数组
private int numPlayers; // 当前球员数
public BaseBallTeam() {
players = new BaseBallPlayer[MAX_PLAYERS];
numPlayers = 0;
}
public void addPlayer(BaseBallPlayer player) {
if (numPlayers < MAX_PLAYERS) {
players[numPlayers] = player;
numPlayers++;
} else {
System.out.println("球队满员,请另寻他处。");
}
}
public void startGame() {
if (numPlayers > 0) {
for (int i = 0; i < numPlayers; i++) {
players[i].play();
}
} else {
System.out.println("没有球员可以开始游戏。");
}
}
}
```
在此类中,构造方法初始化了一个最多可容纳10个球员的数组,并将当前球员数设置为0。`addPlayer`方法中,如果当前球员数未达到最大值,则将传入的球员对象添加到数组中,并将当前球员数加1,否则输出提示信息。`startGame`方法中,如果当前球员数大于0,则逐一让数组中的球员对象进行游戏,否则输出提示信息。
阅读全文