计算测验游戏的得分/分数

时间:2016-08-29 08:29:25

标签: java swing buttongroup

我可以在选项(单选按钮)随机播放之前计算得分/分数,如下面的代码所示。在Collection.shuffle()之前,选项已修复,因为correctChoice将始终分配到c2单选按钮。所以我可以像

一样使用
if (c2.isSelected())
score=score+2;

然后我改变选择。

QsL.setText(Question.get(i).getQs().toString());  
c1.setText(Question.get(i).getChoiceOne());
c2.setText(Question.get(i).getCorrectChoice());
c3.setText(Question.get(i).getChoiceTwo());
scorelbl.setText(Question.get(i).getScore());
if (c2.isSelected()) { 
    score=score+2;
    JOptionPane.showMessageDialog(null,score);
}
String one = Question.get(i).getChoiceOne();
String two = Question.get(i).getChoiceTwo();
String three = Question.get(i).getCorrectChoice();
List<String> choices = Arrays.asList(one, two, three);
Collections.shuffle(choices);
c1.setText(choices.get(0).toString());
c2.setText(choices.get(1).toString());
c3.setText(choices.get(2).toString());

提前感谢您的回答。我已经编辑了这篇文章。

1 个答案:

答案 0 :(得分:3)

你的片段会改变字符串,这会掩盖正确的答案。相反,将每个选项的文本正确的状态以及分配给它的按钮关联起来:

class Choice {
    String text;
    Boolean correct;
    JRadioButton button;
}

Question包含List<Choice> choices,随时可以随机播放并分配给按钮。在按钮的操作ActionListener中,在choices中搜索匹配按钮,以确定所选选项的正确性。相应地更新分数。