【发布时间】: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 的程序的图片,如果有什么不太清楚,请见谅
【问题讨论】:
-
这能回答你的问题吗? How do I compare strings in Java?
标签: java swing if-statement methods awt