Netbeans中的测验游戏 - 从文本文件中读取

时间:2018-06-06 14:30:48

标签: java random

我正在NetBeans中进行测验游戏,我需要一些帮助。我想从.txt文件中读取问题,所以答案和标签上的setText用于答案的问题和单选按钮。我有一个txt文件,如下所示:

" 1问题..?"

"第一个可能的答案"

"第二个可能的答案"

"第三个可能的答案"

"第四个可能的答案"

"正确答案"

" 2问题..?"

"第一个可能的答案"

"第二个可能的答案"

"第三个可能的答案"

"第四个可能的答案"

"正确答案"

依旧......

我设法为每个创建一个字符串(问题,第一个答案......),我从文件中保存文本,并在标签1,单选按钮1,...中为我显示... 该程序显示一切正确,但我想知道如何随机显示每个组(问题,答案1,..),以便他们不重复。

String question;
String first;
String second;
String third;
String fourth;
String correct;

private void jBtnStartActionPerformed(java.awt.event.ActionEvent evt) {                                          

    int x=1, i=1;
    try {
        BufferedReader br=new BufferedReader(new FileReader("questions.txt"));
        while(br.ready()){
            if(i==x){
                question=br.readLine();
                first=br.readLine();
                second=br.readLine();
                third=br.readLine();
                fourth=br.readLine();
                correct=br.readLine();
            }
            else{
                question=br.readLine();
                first=br.readLine();
                second=br.readLine();
                third=br.readLine();
                fourth=br.readLine();
                correct=br.readLine();
            }
        }
    } catch (IOException ex) {
        Logger.getLogger(Okno2.class.getName()).log(Level.SEVERE, null, ex);
    }

    jLabel1.setText(question);
    jRadioButton1.setText(first);
    jRadioButton2.setText(second);
    jRadioButton3.setText(third);
    jRadioButton4.setText(correct);
}

1 个答案:

答案 0 :(得分:0)

我建议您创建一个{strong} Question课程,负责保留问题和所有答案选项。 另一个类可以读取输入并使用List<Question>创建问题列表。获得问题列表后,您可以随机选择其中一个问题。我建议您找一个关于列表的教程以了解更多信息。

您应该保留从文件中读取问题的代码,并将数据与创建用户界面的代码分开存储。当您继续学习编程时,您将获得更多关于如何组织代码以使其更易于编写和维护的经验。