java - 在Java中创建数组的数组

标签 java arrays object multidimensional-array poker

假设我有一个 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/

相关文章:

ruby - 如何检查一个字符串是否是几个不同值之一?

object - Salesforce 对象和标准化

java shell脚本问题

java - 从代码内部创建内存快照 (Java)

java - Sierra Chart DTC Java 套接字连接空终止符

javascript - DOM 结构到数组

java - 在查询错误中将不同的数据类型插入postgreSQL

c++ - 读取文本文件并将数据存储到多个数组 C++

python - 新手 Django 选择菜单 'function' 对象不可迭代

class - Kotlin 值与赋值中的引用