我正在一个在线考试是其中一部分的项目,我正在为我的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值。 请帮帮我。
答案 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++;
}
}