假设我有一个 Player 类,例如:
public class Player {
String name;
int chips;
int betVal;
}
以下代码对于创建玩家数组是否正确?
public static void main(String[] args) {
int playerCount;
int startingChip;
out.print("How many players? ");
playerCount = myScanner.nextInt();
Player[] aPlayer = new Player[playerCount + 1];
for (int i = 0; i < playerCount + 1; i++){
aPlayer[i] = new Player();
}
out.print("Enter starting chip amount: ");
startingChip = myScanner.nextInt();
}
如果是这样,我如何为每个玩家分配姓名、筹码金额和下注金额?稍后我将如何在代码中访问和更改它们?
编辑:将玩家保留为对象或数组(名称、筹码、betVal)以便稍后访问会更容易吗?
最佳答案
首先,您的变量必须是私有(private)的(有一部分程序员更喜欢公共(public)变量,但大多数人更喜欢私有(private)变量)。
您可以通过重载构造函数或通过 setter 来设置 Player 对象的值。
public class Player {
private String name;
private int chips;
private int betVal;
public Player(){
//default constructor to initialize without any parameters
}
public Player(String name, int chips, int betVal){
this.name=name;
this.chips=chips;
this.betVal=betVal;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getChips() {
return chips;
}
public void setChips(int chips) {
this.chips = chips;
}
public int getBetVal() {
return betVal;
}
public void setBetVal(int betVal) {
this.betVal = betVal;
}
}
在这种情况下,您的初始化可以是
aPlayer[i] = new Player("Jason", 5,1000);
或使用 setter ,如
for (int i = 0; i < playerCount + 1; i++){
aPlayer[i] = new Player();
}
aPlayer[i].setName("Jason");
aPlayer[i].setChips(5);
aPlayer[i].setBetVal(1000);
考虑到您的示例程序,我猜选项 2 效果很好。
关于java - 在Java中创建数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13142490/