在jsp中计算在线考试的正确答案

时间:2012-09-19 18:44:42

标签: jsp

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

使用jsp scriplet完成编码 用于获取数据的代码:

<%@ 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页面中选择的数据,并且还能看到正确的ans,但在计算正确的答案时,我得到0值。 请帮帮我。

2 个答案:

答案 0 :(得分:0)

我认为你的意思是:

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

count++;
//System.out.println(id[i]);
}

答案 1 :(得分:0)

这有效。

if((str[i]!=null)&&(id[i]!=null)){
    if(id[i].equals(str[i])){
        count++;
    }
}