第一个界面:输入题目总数和每行要显示的题目数
第二个界面:答题界面
第三个界面:判错界面,可选择重新回到第一个界面或进入第四个界面
第四个界面:结束界面
源码:
1.si.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <h2>四则运算自动出题系统</h2> 8 <style type="text/css"> 9 .big{ 10 position:absolute; 11 left:50%; 12 margin-left:-100px; 13 top:50%; 14 margin-top:-200px; 15 } 16 </style> 17 </head> 18 19 20 <body text="Black" style="background: ; background-size:100%"> 21 <div align="center"> 22 <form action="ze.jsp" method="post" onsubmit="return checkall()"> 23 <table> 24 <tr> 25 <td>题目总数</td> 26 <td> 27 <input type="text" name="number1" id="number1" value="" placeholder="请输入" onchange="check1()"/> 28 </td> 29 </tr> 30 <tr> 31 <td>每行的题目个数</td> 32 <td><input type="text" name="number2" id="number2" value="" placeholder="请输入" onchange="check2()" /></td> 33 </tr> 34 <tr> 35 <td><input type="submit" value="开始答题"></td> 36 </tr> 37 38 </table> 39 40 </form> 41 <script type="text/javascript"> 42 43 function check1() 44 { 45 var number1=document.getElementById("number1"); 46 var num=number1.value; 47 if(num=="") 48 { 49 alert('总数不能为空'); 50 number1.focus(); 51 return false; 52 } 53 } 54 55 function check2() 56 { 57 var number2 = document.getElementById("number2"); 58 var num2=number2.value; 59 if(num2=="") 60 { 61 alert('行数不能为空'); 62 number1.focus(); 63 return false; 64 } 65 } 66 function checkall() 67 { 68 var num1=document.getElementById("number1"); 69 var number1=num1.value; 70 var num2 = document.getElementById("number2"); 71 var number2=num2.value; 72 if(number1=="") 73 { 74 alert('总数不能为空'); 75 num1.focus(); 76 return false; 77 } 78 if(number2=="") 79 { 80 alert('行数不能为空'); 81 num2.focus(); 82 return false; 83 } 84 85 } 86 </script> 87 </div> 88 </body> 89 90 </html>
2.ze.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <% 8 int s1= Integer.parseInt(request.getParameter("number1")); 9 int s2 = Integer.parseInt(request.getParameter("number2")); 10 String value[]=new String[s1]; 11 int num[]=new int[s1]; 12 int a1,a2,a3; 13 int b1,b2,b3; 14 int s3[]=new int[100]; 15 int s4[]=new int[100]; 16 int s5[]=new int[100]; 17 int s6[]=new int[100]; 18 int s7[]=new int[100]; 19 int s8[]=new int[100]; 20 int s9[]=new int[100]; 21 int s10[]=new int[100]; 22 char fuhao[]= {'+','-','*','/'}; 23 nn:for(a1=1;a1<=s1;) 24 { 25 for(a2=1;a2<=s2;) 26 { 27 b1=(int)(Math.random()*100); 28 b2=(int)(Math.random()*100); 29 b3=(int)(Math.random()*4); 30 if(b3==0) 31 { 32 if(s3[b1]==1) 33 { 34 if(s4[b2]==1) 35 { 36 continue; 37 } 38 else 39 { 40 s3[b1]=1; 41 s4[b2]=1; 42 a3=b1+b2; 43 num[a1-1]=a3; 44 value[a1-1]=b1+"+"+b2; 45 } 46 } 47 else 48 { 49 s3[b1]=1; 50 s4[b2]=1; 51 a3=b1+b2; 52 num[a1-1]=a3; 53 value[a1-1]=b1+"+"+b2; 54 } 55 } 56 if(b3==1) 57 { 58 if(b1>=b2) 59 { 60 if(s5[b1]==1) 61 { 62 if(s6[b2]==1) 63 { 64 continue; 65 } 66 else 67 { 68 s5[b1]=1; 69 s6[b2]=1; 70 a3=b1-b2; 71 num[a1-1]=a3; 72 value[a1-1]=b1+"-"+b2; 73 } 74 } 75 else 76 { 77 s5[b1]=1; 78 s6[b2]=1; 79 a3=b1-b2; 80 num[a1-1]=a3; 81 value[a1-1]=b1+"-"+b2; 82 } 83 } 84 else 85 continue; 86 } 87 if(b3==2) 88 { 89 if((b1*b2)/100==0) 90 { 91 if(s7[b1]==1) 92 { 93 if(s8[b2]==1) 94 { 95 continue; 96 } 97 else 98 { 99 s7[b1]=1; 100 s8[b2]=1; 101 a3=b1*b2; 102 num[a1-1]=a3; 103 value[a1-1]=b1+"*"+b2; 104 } 105 } 106 else 107 { 108 s7[b1]=1; 109 s8[b2]=1; 110 a3=b1*b2; 111 num[a1-1]=a3; 112 value[a1-1]=b1+"*"+b2; 113 } 114 } 115 else 116 continue; 117 } 118 if(b3==3) 119 { 120 if(b2!=0&&b1%b2!=0) 121 { 122 continue; 123 } 124 if(b2==0) 125 { 126 continue; 127 } 128 if(s9[b1]==1) 129 { 130 if(s10[b2]==1) 131 { 132 continue; 133 } 134 else 135 { 136 s9[b1]=1; 137 s10[b2]=1; 138 a3=b1/b2; 139 num[a1-1]=a3; 140 value[a1-1]=b1+"/"+b2; 141 } 142 } 143 else 144 { 145 s9[b1]=1; 146 s10[b2]=1; 147 a3=b1/b2; 148 num[a1-1]=a3; 149 value[a1-1]=b1+"/"+b2; 150 } 151 } 152 if(a1==s1) 153 { 154 break nn; 155 } 156 ++a1; 157 ++a2; 158 } 159 } 160 %> 161 <title>Insert title here</title> 162 </head> 163 <body style="background: ;background-size:100%"> 164 <div align="center"> 165 <form action="yun.jsp"> 166 <h2>请作答:</h2> 167 <table> 168 <% 169 mm:for(int j=0;j<s1;){ 170 %> 171 <tr> 172 <%for(int j1=0;j1<s2;) 173 {%> 174 175 <td><%=value[j] %>=</td> 176 <td><input type="hidden" name="values" value=<%=value[j]%>></td> 177 <td><input type="text" name="result" value=""></td> 178 <td><input type="hidden" name="answer" value=<%=num[j] %>></td> 179 <% 180 j++; 181 j1++; 182 if(j==s1) 183 { 184 break mm; 185 } 186 } 187 %> 188 </tr> 189 <% 190 } 191 %> 192 <tr> 193 <td> 194 <input type="submit" value="提交"> 195 </td> 196 </tr> 197 </table> 198 </form> 199 </div> 200 </body> 201 </html>
3.yun.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body text="Black" style="background: ; background-size:100%"> 10 <div align="center"> 11 <% 12 String result[] = request.getParameterValues("result"); 13 String sum[] = request.getParameterValues("answer"); 14 String values[] = request.getParameterValues("values"); 15 int q1=sum.length; 16 int s1=0,s2=0,s3=0; 17 for(int q3=0;q3<q1;q3++) 18 { 19 if(result[q3].equals("")) 20 { 21 s1++; 22 %> 23 <p><%=values[q3]%>=<%=result[q3] %><font color="red">没有填写,正确答案为</font><%=sum[q3] %></p> 24 <% 25 } 26 27 else if(result[q3].equals(sum[q3])) 28 { 29 s2++; 30 %> 31 <p><%=values[q3]%>=<%=result[q3] %><font color="green">答案正确</font></p> 32 <% 33 } 34 else 35 { 36 s3++; 37 %> 38 <p><%=values[q3]%>=<%=result[q3] %><font color="red">答案错误,正确答案为</font><%=sum[q3] %></p> 39 <% 40 } 41 } 42 %> 43 44 <h2> 45 你答对了<%=s2 %>题,答错了<%=s3 %>题,没有答<%=s1 %>题。 46 </h2> 47 <a href="si.jsp"><button>新的题目</button></a> 48 <a href="suan.jsp"><button>结束做题</button></a> 49 </div> 50 </body> 51 </html>
4.suan.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body text="Pink" style="font-size:300px;" > 10 <p align="center">Over</p> 11 </body> 12 </html>
效果图