从创建的I类创建对象数组

时间:2016-02-28 22:11:52

标签: java arrays

我正在开展一个Trivia项目。我创建了一个名为Trivia的类,它具有设置问题和答案的所有必要方法等。在测试器类中,我需要创建一个由5个Trivia对象组成的数组,用于设置5个问题的答案,问题和点值。我对如何设置值感到困惑。我已经创建了Trivia对象的数组以及5个对象的空间。这是我的代码,谢谢!

public class Trivia {
private String question;
private String answer;
private int points;

public Trivia() {
    question = " ";
    answer = " ";
    points = 0;
}

public String getQuestion() {
    return question;
}

public String getAnswer() {
    return answer;
}

public int getPoints() {
    return points;
}

public void setQuestion(String q) {
    question = q;
}

public void setAnswer(String a) {
    answer = a;
}

public void setPoints(int p) {
    points = p;
}

}

(测试者班)

public class Driver {

public static void main(String[] args) {
    Trivia[] t = new Trivia[5];
    for (int i = 0; i <= 5; i++) {
        t[i] = new Trivia();
    }

}

}

4 个答案:

答案 0 :(得分:1)

此行创建一个新的Trivia并将其存储在数组中:

for (int i = 0; i <= 5; i++) {
    t[i] = new Trivia();
}

您可以使用它来分配问题。然而,所有问题都将是相同的......

for (int i = 0; i <= 5; i++) {
    t[i] = new Trivia();
    t[i].setQuestion("bla");
}

您可能希望在循环后创建单个问题:

for (int i = 0; i <= 5; i++) {
    t[i] = new Trivia();
}
t[0].setQuestion("question1");

继续开发您的应用程序,您将不得不考虑一种存储问题的方便方法。将它们硬编码到java代码中是有好处的,但每次问题发生变化时都必须重新编译。

使用包含所有问题文本的.property文件可能是一个选项。

答案 1 :(得分:1)

你可以这样做:

    Trivia[] t = new Trivia[5];
    for (int i = 0; i < 5; i++) {
        Trivia tx = new Trivia();
        tx.setQuestion("xxxx");
        tx.setAnswer("xxxx");
        tx.setPoints(0);
        t[i] = tx;
    }

答案 2 :(得分:0)

使用您在类中声明的setter方法设置值。

示例:

t[i].setAnswer("answer");

答案 3 :(得分:0)

也许是这样的:

    Trivia[] t = new Trivia[5];
    for (int i = 0; i <= 5; i++) {
        t[i] = new Trivia();
        t[i].setQuestion("What is "+i+"+"+i+"?");
        t[i].setAnswer(""+(2*i));
     }

使用setter-Methods设置问题和答案。