android - 尝试创建一个对象数组

标签 android arrays

我有一个对象要放入数组列表中:

class PlayerScores {

String playerName;
int played=0;
int win=0;
int draw=0;
int loss=0;
int points=0;


void playerNameSet(String name){
    playerName=name;
}
void played(){
    played=played+1;
}
void win(){
    win=win+1;
    points();
}
void draw(){
    draw=draw+1;
    points();
}
void loss(){
    loss=loss+1;
}

void points(){
    points = (win*3)+draw;
}

}

基本上,当用户选择了有多少玩家时,我想初始化这些对象的数组,但出现错误。下面是初始化数组然后为玩家分配名称的代码。

该数组已在我的代码开头定义并且是公开的,因此我可以在不同的 Activity 中使用它: “PlayerScores[] playersObjects;”

public PlayerScores[] makePlayerObjects() {
        playersObjects = new PlayerScores[players];
        for(int i = 0; i < players + 1; i++)
        {
            playersObjects[i].playerNameSet(name variable);
        }

    return playersObjects;
}

错误似乎发生在设置名称的行上,但它与名称变量无关。

任何帮助将不胜感激, 谢谢,奥利

最佳答案

您还没有实际设置数组中的对象。您首先需要构建一个 PlayerScores 对象,然后您可以访问它。

public PlayerScores[] makePlayerObjects() {
        playersObjects = new PlayerScores[players];
        for(int i = 0; i < playersObjects.length; i++)
        {
            playersObjects[i] = new PlayerScores(); //make the object so we can access it
            playersObjects[i].playerNameSet(name variable);
        }

    return playersObjects;
}

关于android - 尝试创建一个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14242179/

相关文章:

java - 自定义比较器未正确排序

php - 如何在while条件下比较两个数组

javascript - 如何使用 gulpjs 将数组值替换为另一个数组中的值

android - 如何解决android中的NetworkOnMainThreadException错误?

安卓 : How to test memory leak in an application?

arrays - 您如何解决 "The parameters (number[]) don' t 与 SpreadsheetApp.Range.setValues 的方法签名匹配”错误

javascript - array.push() 仅包含循环中的最终值

java - 如何以可序列化并通过 RMI 使用的方式包装多个字节数组

android - 为什么在 Android Listeners 上使用 Wea​​kReference?

android - 将 textview 更改为 Bundle.getExtra() 中的文本