Я создаю простую экзаменационную систему в Java и Mysql. Когда я запускаю экзамен, все вопросы, отображаемые в базе данных, успешно отображаются, если я прочитаю вопрос и отвечу на него, а затем нажмите кнопку «Далее», он перейдет к следующему вопросу. Работает нормально. Если ответ был выбран правильно, помечается как добавленный 1. если не снят, ответ станет 0 Я хочу. Моя проблема в том, что если я нажимаю правильный ответ на переключателе, помечает изменения как один. Тот же вопрос снова я выбираю как неправильный ответ, он не изменился на 0, он все еще помечен как 1. Как решить проблему Я снимаю переключатели, которые не будут очищены. То, что я пробовал, я приложил ниже.
Щелкните «Правильный ответ». отметка отображается 1 правильно введите здесь описание изображения
после того же вопроса ответ изменится как неправильный. Отметка отображается 1. Мне нужно отобразить, если мы выбрали неправильный ответ во второй раз, отметки уменьшаются. Мне нужно изменить 1 на 0
введите описание изображения здесь
Код, который пробовал до сих пор, я приложил ниже. Нажмите на ответ
public void answercheck()
{
String studentanswer="";
if(r1.isSelected())
{
if(r1.isSelected() == true)
{
studentanswer = r1.getText();
r2.setSelected(false);
r3.setSelected(false);
r4.setSelected(false);
}
else
{
studentanswer="";
r1.setSelected(false);
r2.setSelected(true);
r3.setSelected(true);
r4.setSelected(true);
}
}
else if(r2.isSelected())
{
if(r2.isSelected() == true)
{
studentanswer = r2.getText();
r1.setSelected(false);
r3.setSelected(false);
r4.setSelected(false);
}
else
{
studentanswer="";
r2.setSelected(false);
r1.setSelected(true);
r3.setSelected(true);
r4.setSelected(true);
}
}
else if(r3.isSelected())
{
if(r3.isSelected() == true)
{
studentanswer = r3.getText();
r1.setSelected(false);
r2.setSelected(false);
r4.setSelected(false);
}
else
{
studentanswer="";
r3.setSelected(false);
r1.setSelected(true);
r2.setSelected(true);
r4.setSelected(true);
}
}
else if(r4.isSelected())
{
if(r4.isSelected() == true)
{
studentanswer = r4.getText();
r1.setSelected(false);
r2.setSelected(false);
r4.setSelected(false);
}
else
{
studentanswer="";
r4.setSelected(false);
r1.setSelected(true);
r2.setSelected(true);
r4.setSelected(true);
}
}
if(studentanswer.equals(answer))
{
marks = marks + 1;
String marks1 = String.valueOf(marks);
txtc.setText(marks1);
}
}
Загрузить все вопросы из базы данных
public void Connection()
{
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/onlineex","root","");
stat = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stat.executeQuery("select id,question,option1,option2,option3,option4,answer from questions order by id DESC");
while(rs.next())
{
txtqu.setText(rs.getString("id"));
txtques.setText(rs.getString("question"));
r1.setText(rs.getString(3));
r2.setText(rs.getString(4));
r3.setText(rs.getString(5));
r4.setText(rs.getString(6));
answer = rs.getString(7);
}
} catch (ClassNotFoundException ex) {
} catch (SQLException ex) {
}
}
Нажмите кнопку «Далее»
if(!rs.isFirst())
{
rs.previous();
txtqu.setText(rs.getString("id"));
txtques.setText(rs.getString("question"));
r1.setText(rs.getString(3));
r2.setText(rs.getString(4));
r3.setText(rs.getString(5));
r4.setText(rs.getString(6));
answer = rs.getString(7);
answercheck();
}
Кнопка предыдущего клика
if(!rs.isLast())
{
rs.next();
txtqu.setText(rs.getString("id"));
txtques.setText(rs.getString("question"));
r1.setText(rs.getString(3));
r2.setText(rs.getString(4));
r3.setText(rs.getString(5));
r4.setText(rs.getString(6));
answer = rs.getString(7);
}