我正在尝试为琐事游戏初始化一系列问题,并提供潜在的答案选择和正确的答案选择。这是我的主要课程:
public class Lab82 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
final int NUM_QUESTIONS = 10;
Question[] questions = new Question[10];
}
}
以下是琐事问题的课程:
public class Question {
//fields
private String question;
private String ans1;
private String ans2;
private String ans3;
private String ans4;
private int correctAns;
/**
* Constructor
* @param question
* @param ans1
* @param ans2
* @param ans3
* @param ans4
* @param correctAns
*/
public Question(String question, String ans1, String ans2, String ans3, String ans4, int correctAns){
this.question = question;
this.ans1 = ans1;
this.ans2= ans2;
this.ans3 = ans3;
this.ans4 = ans4;
this.correctAns = correctAns;
}
}
我尝试在主方法中输入:
questions[0] = new Question("How old are you?", "Zero", "One", "Two", "Three", 2);
但收到此错误消息:
构造函数类问题无法应用于给定类型; 必需:没有参数 found:String,String,String,String,String,int 原因:实际和正式的参数列表长度不同
如何正确地向问题构造函数传递问题,回答选择并更正每个琐事问题的答案?
答案 0 :(得分:0)
以下内容可行,但我猜你真的想要添加真实数据,而不仅仅是空字符串。数据来自哪里?
for (int x = 0; x < questions.length; x++)
{
questions[x] = new Question("", "", "", "", 1);
}
因此,您可能希望单独填写每个问题,如
questions [0] = new Question("What is SO?", "Stack Overflow", "Say Oi", "Sasuages OK", "so", 1);
questions [1] = new Question("....", "...", "...", "...", "...", 1);
答案 1 :(得分:0)
简单的方法是这样的:
new Question("What's the time Mr Wolf?", "3 oclock", "4 oclock", "5 oclock",
"Dinner time!", 4);
但这不是一个好的解决方案,因为将问题和答案硬连接到代码中会产生问题。
更好的方法是根据需要加载Q&amp; A(来自应用程序资源,文件,数据库,外部服务......)。
答案 2 :(得分:0)
在Class Lab82的主要方法中创建Question类型的新对象。
Question questionOne = new Question(questionOne, ans1, ans2, ans3, ans4, correctAns);
将上述对象传递给数组问题。