我正在开发一个测验应用,我希望找到一种有效的方法来保存用户的答案。
每个测验都有 30 个问题,我需要保存的是:
questionNumber
,questionId
和answerId
,答案是否正确。
我认为阵列将是一个很好的解决方案。例如:
每行代表一个问题(questionNumber
)。第一列代表questionId
,第二列代表answerId
。第三列将包含0
(不正确)或1
(正确)。
需要第三列(正确)来总结正确答案的数量(它可以更快地对第三列求和,而不是随时检查每个答案)。
这不是一个SQL表 - 这个信息是临时的,一旦用户完成测验就会被销毁。
我想知道您是否有其他解决方案,或许更好。
谢谢!
答案 0 :(得分:1)
为什么不上课?
class Answer
{
private int questionID;
private int answerID;
private boolean correct;
public Answer(int questionID, int answerID, boolean correct)
{
this.questionID = questionID;
this.answerID = answerID;
this.correct = correct;
}
}
和一个ArrayList
List<Answer> answers = new ArrayList<Answer>();
然后使用
Answer answer = new Answer(1, 2, true);
answers.add(answer);
使用数组,每次使用ArrayList添加问题时都需要修复数组大小,您可以根据需要添加任意数量的问题,而无需关心数组大小。
无论如何,如果你的问题总是30,你也可以毫无问题地创建一个数组。
关于表演,我没有看到有关速度/记忆的问题。