首页 > 解决方案 > RadioButton值增量减量使用Java

问题描述

这是一个在线考试系统。如果答案是正确的,则标记增加 1 它可以在同一个问题上正确工作第二次选择错误的答案 ii 需要减少值

  int marks;
    String cor;
        public void answerCheck()
            {
                String answerAnswer="";

                if(r1.isSelected())
                {
                    answerAnswer = r1.getText();

                }

               else if(r2.isSelected())
                {
                    answerAnswer = r2.getText();

                }

                   else if(r3.isSelected())
                {
                    answerAnswer = r3.getText();

                }

                    else if(r4.isSelected())
                {

                    answerAnswer = r4.getText();

                }

                if(answerAnswer.equals(cor))
                {
                    marks = marks + 1;
                    String Marks = String.valueOf(marks);
                    txtc.setText(Marks);
                }
                else if(!answerAnswer.equals(cor))
                {
                     marks = marks - 1;
                    String Marks = String.valueOf(marks);
                    txtc.setText(Marks);

                }
                else
                {
                    marks =0;
                }

            }

我正在从数据库中加载所有数据正确答案我也在加载 数据库加载

public void Connection()
   {


             Class.forName("com.mysql.jdbc.Driver");
             con = DriverManager.getConnection("jdbc:mysql://localhost/onlineex","root","");
               String query = "select * from questions";
       pst = con.prepareStatement(query);

             rs = pst.executeQuery();

                  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));
                 cor = rs.getString(7);
            }

             } 

接下来我有一个按钮呼叫

 try
           {

            if(rs.previous())
            {   

                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));

            cor=rs.getString(7);
            }
            else
                {
                    JOptionPane.showMessageDialog(this, "This is first record of student");
                }
        answerCheck();
      }

我之前有按钮调用

if(rs.next())
        {   

            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));

        cor=rs.getString(7);
        }
        else
            {
                JOptionPane.showMessageDialog(this, "This is first record of student");
            }
    answerCheck();

在此处输入图像描述

标签: java

解决方案


首先,最后一个 else 中存在一个永远不会执行的逻辑错误,因为答案是正确的或错误的,没有第三个条件。

String cor;
    public void answerCheck()
        {
            String answerAnswer="";

            if(r1.isSelected())
            {
                answerAnswer = r1.getText();

            }

           else if(r2.isSelected())
            {
                answerAnswer = r2.getText();

            }

               else if(r3.isSelected())
            {
                answerAnswer = r3.getText();

            }

                else if(r4.isSelected())
            {

                answerAnswer = r4.getText();

            }

            if(answerAnswer.equals(cor))
            {
                marks = marks + 1;
                String Marks = String.valueOf(marks);
                txtc.setText(Marks);
            }
            else if(!answerAnswer.equals(cor) || ((r1.isSelected() || 
                    r2.isSelected() || r3.isSelected() || r4.isSelected()))
            {
                 marks = marks - 1;
                String Marks = String.valueOf(marks);
                txtc.setText(Marks);

            }

}

推荐阅读