【问题标题】:checking if answer right or wrong检查答案是否正确
【发布时间】:2021-12-30 08:04:41
【问题描述】:

我有一个项目是一个有多个问题的测验,真/假并填空,我的问题是检查答案方法。

首先我用 SQL 在数据库中编写了 Q,列如下

有两种方法 第一个用于检索问题、选择和正确答案

public void m() {
    try {
        con = DriverManager.getConnection("jdbc:mysql://localhost/quiz?user=root&password=Manager@1");
        Statement stm = con.createStatement();
        ResultSet rs1 = stm.executeQuery("Select * from quiz.qs where qid="+ Random());
            
        if (rs1.next()) {
            bg.clearSelection();
            quest.setText(rs1.getString(2));
            r1.setText(rs1.getString(3));
            r2.setText(rs1.getString(4));
            r3.setText(rs1.getString(5));
            r4.setText(rs1.getString(6));
            answer = rs1.getString(7);
            check(answer);
        }
    }
    catch(Exception ex) {
        JOptionPane.showMessageDialog(null, ex);
    }
}

第二个是检查选择的答案是否正确,这是我有问题的部分

public void check(String ans) {
    boolean works=false;
    String stuans="";
    if (r1.isSelected()) {
        if (ans.equals(r1.getText())) {
            marks=marks+1;
        }
    } else if (r2.isSelected()) {
        if (ans.equals(r2.getText())) {
            marks=marks+1;   
        }
    } else if (r3.isSelected()) {
        if (ans.equals(r3.getText())) {
            marks=marks+1;  
        }
    } else if (r4.isSelected()) {
        if (ans.equals(r4.getText())) {
            marks=marks+1;
        }
    }
    System.out.println(marks);// to check if marks has increased after checking
}

每当我选择正确的答案时,分数不会增加。

这是来自带有 GUI 的程序的图片,如果有什么不太清楚,请见谅

【问题讨论】:

标签: java swing if-statement methods awt


【解决方案1】:

不要将 == 与字符串一起使用。使用 .equals 方法。

How do I compare strings in Java?

【讨论】:

  • 我用过 .equals 但这并没有解决问题
  • 您是否使用调试器单步调试过您的代码?
猜你喜欢
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 2017-02-16
  • 2020-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多