0

我正在一个项目中工作,其中在线考试是其中的一部分,我正在为我的 sem 做这个。考试。我创建了一个在线考试系统(项目的一部分),我可以从 DB 中获取带有答案的问题,但我无法计算正确的答案。我需要帮助。任何帮助将不胜感激,因为我需要尽快完成。

编码是使用 jsp 脚本代码来获取数据的:

<%@ page import="java.sql.*"%>
<html>
  <form method="post" action="res2.jsp">
    <table>
      <%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/cms","root", "root");
Statement st=connection.createStatement();
ResultSet rs=st.executeQuery("Select * from quiz");
int i=1;
while(rs.next()){
%>

      <tr>
        <td>
          <%=i%>
        </td>
        <td>
          <%=rs.getString("quest")%>
        </td>
        <td>
          <input type="radio" value="QA" name="radio<%=i%>"/><%=rs.getString("QA")%>
        </td>
        <td>
          <input type="radio" value="QB" name="radio<%=i%>"/><%=rs.getString("QB")%>
        </td>
        <td>
          <input type="radio" value="QC" name="radio<%=i%>"/><%=rs.getString("QC")%>
        </td>
        <td>
          <input type="radio" value="QD" name="radio<%=i%>"/><%=rs.getString("QD")%>
        </td>
        <td>
          <input type="text" value='<%=rs.getString("correctAns")%>' name="ans<%=i%>"/>
        </td>
      </tr>

      <%
i++;
}
%>

      <tr>
        <td>
          <input type="submit" value="submit"></input>
        </td>
      </tr>
    </table>
  </form>
</html>

现在编写代码以查看正确答案。我被卡住了...

<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%
    String id[]= new String[6];
    for(int i=0;i<6;i++){
      id[i]=request.getParameter("radio"+i);
      System.out.println(id[i]);
    }
    String str[]= new String[6];
    for(int j=0;j<6;j++){
      str[j]=request.getParameter("ans"+j);
      System.out.println(str[j]);
    }

    int count=0;
    //String answers[]=str.split(" ");
    for(int i=0;i<str.length;i++){
      if(id.equals(str)){

      count++;
      //System.out.println(id[i]);
      }
    }
    out.println("Your "+count+" answers are correct");
%>

我可以看到在 jsp 页面中选择的数据,也可以看到正确的答案,但是在计算正确答案时,我得到了 0 值。请帮帮我。

4

2 回答 2

0

这行得通。

if((str[i]!=null)&&(id[i]!=null)){
    if(id[i].equals(str[i])){
        count++;
    }
}
于 2013-08-23T12:57:36.990 回答
0

我想你的意思是:

if(id[i].equals(str[i])){

count++;
//System.out.println(id[i]);
}
于 2012-09-19T19:48:32.753 回答