最近我和我的小伙伴yaoyali结成对子,共同写网页版的四则运算。虽然现在还没弄好,但是比起上次用纯java写的四则运算有了很大改进。

一.存放四则运算题目和答案的类

  1. package com.jaovo.msg.model;
  2.  
  3. public class DoubleOperation {
  4. private static int operationNumber;
  5. private static double[] result;
  6. private static String[] question;
  7.  
  8. public static String[] getQuestion() {
  9. return question;
  10. }
  11. public static void setQuestion(String[] question) {
  12. DoubleOperation.question = question;
  13. }
  14. public int getOperationNumber() {
  15. return operationNumber;
  16. }
  17. public void setOperationNumber(int operationNumber) {
  18. this.operationNumber = operationNumber;
  19. }
  20. public double[] getResult() {
  21. return result;
  22. }
  23. public void setResult(double[] result) {
  24. this.result = result;
  25. }
  26.  
  27. }

二.Welcom页面

  1. @charset "UTF-8";
  2. /****四则运算题目表格(<table>)****/
  3. .box{
  4. margin-top: 50px;
  5. }
  6. /****结果输入框(<input>)****/
  7. .result{
  8. width: 60px;
  9. padding: 5px;
  10. border:none;
  11. font-size:20px;
  12. border-bottom: solid yellowgreen 5px;
  13. text-align:center;
  14. }
  15. /****题目(<td>)****/
  16. .expr{
  17. font-size: x-large;
  18. }
  19.  
  20. /****非分数/运算符(<div>)*****/
  21. .nomal{
  22. text-align:center;
 
  1. float:left;
  2. position: relative;
  3. top: 16px;
  4. margin-left: 3px;
  5. margin-right: 3px;
  6. width="20px"
  7. }
  8.  
  9. /****分数(<div>)****/
  10. .fraction{
  11. text-align:center;
  12. float: left;
  13. margin-left:3px;
  14. margin-right: 3px;
  15. width="20px"
  16. }
    /****题目选择*****/
  17. .option{
  18. text-align: center;
  19. }
  20. /******你准备好了吗?按钮******/
  21. .submit1{
  22. padding-top: 10px;
  23. padding-bottom: 10px;
  24. padding-left: 20px;
  25. padding-right: 20px;
  26. background: #C90;
  27. font-family: "微软雅黑";
  28. font-weight: bold;
  29. font-size: 20px;
  30. }
  31. /*****提交按钮*****/
  32. .submit{
  33. padding-top: 10px;
  34. padding-bottom: 10px;
  35. padding-left: 20px;
  36. padding-right: 20px;
  37. border-radius: 5px;
  38. background: cornflowerblue;
  39. border: none;
  40. cursor: pointer;
  41. color:lightyellow;
  42. font-family: "微软雅黑";
  43. font-weight: bold;
  44. font-size: 20px;
  45. }
  46. /******计时器*******/
  47. .timer{
  48. position:fixed;
  49. top: 10px;
  50. right: 10px;
  51. border: none;
  52. width:50px;
  53. text-align: right;
  54. background: none;
  55. }
  56. .pause{
  57. position:fixed;
  58. top: 30px;
  59. right: 10px;
  60. }
  61. /****题目选项****/
  62. .option{
  63. margin-left:auto;
  64. margin-right:auto;
  65. width:600px;
  66. margin-top: 130px;
  67. border:dashed #9ACD32 2px;
  68. padding-top: 100px;
  69. padding-bottom: 100px;
  70. }
  71. /****答题按钮*****/
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <link rel="stylesheet" href="css/style.css"/>
  8. <title>小学生四则运算</title>
  9. <style type="text/css">
  10. body
  11. {
  12. background-image:url(image/2.jpg);
  13. }
  14. #p1{text - indent:2em;text - align:center;font:italic 35px/40px 幼圆}
  15. </style>
  16. </head>
  17. <body>
  18. <p id="p1">欢迎小朋友来到小猪佩奇的数学乐园,快跟小猪佩奇一起去冒险吧!</p>
  19. <form action="choose.jsp" class="option">
  20. <button class="submit1" style="margin-top:60px">你准备好了吗?</button>
  21. </form>
  22. </body>
  23. </html>

结果截图

三.选择出题数量及题目种类

choose.jsp和Connect.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <link rel="stylesheet" href="css/style.css"/>
  8. <title>小学生四则运算</title>
  9. <style type="text/css">
  10. body{
  11. background-image:url(image/4.jpg);
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <div style="text-align:right;">
  17. <a href="Welcome.jsp">退出</a><br><br>
  18. </div>
  19. <form action="Connect.jsp" class="option">
  20. <center><h2>题目定制</h2></center>
  21. <p>选择题目类型:
  22. <select name="elementNum">
  23. <option>2</option>
  24. <option>3</option>
  25. </select>元运算<br /></p>
  26. 选择题目数量:
  27. <input name="count" value="10" type="radio" />10
  28. <input name="count" value="20" type="radio" />20
  29. <input name="count" value="30" type="radio" />30
  30. <input name="count" value="40" type="radio" />40
  31. <input name="count" value="50" type="radio" />50
  32. <input name="count" value="5000" type="radio" />5000<br/>
  33. <input name="count" value="1000000" type="radio" />10000000(极限测试,慎选!!)
  34. <br /><br />
  35. <button class="submit" style="margin-top:50px">开始答题!</button>
  36. </form>
  37. </body>
  38. </html>
  1.  
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3. pageEncoding="UTF-8"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>连接</title>
  9. </head>
  10. <body>
  11. <%
  12. String type=request.getParameter("elementNum");
  13. String OperationNumber=request.getParameter("count");
  14. if(OperationNumber==null||"".equals(OperationNumber))
  15. {
  16. OperationNumber="10";
  17. }
  18. if(type.equals("2"))
  19. {
  20. response.sendRedirect("DoubleOperation.jsp?OperationNumber="+OperationNumber);
  21. }
  22. else
  23. {
  24. response.sendRedirect("ThreeOperation.jsp?OperationNumber="+OperationNumber);
  25. }
  26.  
  27. %>
  28.  
  29. </body>
  30. </html>
  1.  
  1.  

四.二元四则运算

DoubleOperation.jsp

  1. <%@ page import="java.util.Random" %>
  2. <%@ page import="java.lang.Math" %>
  3. <%@ page import="com.jaovo.msg.model.DoubleOperation" %>
  4. <%@ page import="java.math.BigInteger" %>
  5. <%@ page language="java" contentType="text/html; charset=UTF-8"
  6. pageEncoding="UTF-8"%>
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  8. <html>
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  11. <title>二元运算</title>
  12.  
  13. </head>
  14. <body>
  15. <form action="doDoubleOperation.jsp" method="post">
  16. <div style="text-align:right;">
  17. <a href="choose.jsp">题目定制</a>&nbsp;&nbsp;
  18. <a href="Welcome.jsp">退出</a><br><br>
  19. </div>
  20. <%
  21. int character=0;//运算符+,-,*,/
  22. int num1=0;//运算式中第一个数
  23. int num2=0;//运算式中第二个数
  24. int correct=0;//计算正确的数目
  25. int error=0;//计算错误的数目
  26. String operat=null;//计算式
  27. Random random = new Random();
  28. int Endtime=1; //跳转时间
  29. int operationNumber=Integer.parseInt(request.getParameter("OperationNumber"));//打印题目的数量
  30. String question[]=new String[operationNumber];
  31. double result[]=new double[operationNumber];//计算式的结果
  32. for(int i=0;i<operationNumber;i++)//初始化计算式的结果
  33. {
  34. result[i]=0;
  35. question[i]=null;
  36. }
  37.  
  38. DoubleOperation doubleoperation=new DoubleOperation();//初始化.java文件中存储的计算公式个数,问题,答案
  39. doubleoperation.setOperationNumber(operationNumber);
  40. doubleoperation.setQuestion(question);
  41. doubleoperation.setResult(result);
  42.  
  43. for(int i=0;i<operationNumber;i++)
  44. {
  45.  
  46. character=random.nextInt(4)%4+1;
  47. if(character==1)//计算加法
  48. {
  49. num1=random.nextInt(100)%100;//随机出一个0~100的数
  50. num2=random.nextInt(100)%100;
  51. String number1=String.valueOf(num1);
  52. String number2=String.valueOf(num2);
  53. operat="第("+(i+1)+")题"+number1+"+"+number2+"=";
  54. result[i]=num1+num2;
  55. }
  56. else if(character==2)//计算减法
  57. {
  58. num1=random.nextInt(100)%100;//随机出一个1~100的数
  59. if(num1==0)
  60. num1=num1+2;//若num1=0,则加2
  61. num2=(int)random.nextInt(num1)%(num1);//随机出一个0~num1的数
  62. String number1=String.valueOf(num1);
  63. String number2=String.valueOf(num2);
  64. operat="第("+(i+1)+")题"+number1+"-"+number2+"=";
  65. result[i]=num1-num2;
  66. }
  67. else if(character==3)//计算乘法
  68. {
  69. num1=random.nextInt(9)%9;//随机出一个0~9的数
  70. num2=random.nextInt(9)%9;
  71. String number1=String.valueOf(num1);
  72. String number2=String.valueOf(num2);
  73. operat="第("+(i+1)+")题"+number1+"*"+number2+"=";
  74. result[i]=num1*num2;
  75. }
  76. else //计算除法
  77. {
  78. do{
  79. num1=random.nextInt(81)%81;//随机出一个0~81的数
  80. if(num1>9)
  81. num2=random.nextInt(9)%9;
  82. else
  83. {
  84. if(num1==0)
  85. num1++;
  86. num2=(int)random.nextInt(num1)%(num1);
  87. }
  88. if(num2==0)//当num2=0再重新生成num2
  89. {
  90. num2=num2+1;
  91. }
  92. String number1=String.valueOf(num1);
  93. String number2=String.valueOf(num2);
  94. operat="第("+(i+1)+")题"+number1+"/"+number2+"=";
  95. result[i]=num1/num2;
  96. }while((result[i]>=10)||(num1%num2!=0));//商为10以内的数
  97.  
  98. }
  99.  
  100. if(Double.valueOf(result[i])>100) {//如果结果大于100或小数位数大于1则不输出
  101. i--;
  102. }
  103. else {
  104. question[i]=operat;
  105. %>
  106. <%=operat %><input type="text" name="child_result<%=i %>" ><br> <br>
  107.  
  108. <%
  109.  
  110. }
  111. }
  112.  
  113. %>
  114. <input type="submit" value="提交" name="提交">
  115.  
  116. <%
  117.  
  118. doubleoperation.setOperationNumber(operationNumber);
  119. doubleoperation.setQuestion(question);
  120. doubleoperation.setResult(result);
  121.  
  122. %>
  123.  
  124. <%-- <meta http-equiv="refresh" content ="<%=Endtime*60 %>;url=doDoubleOperation.jsp"> --%>
  125. <!-- Endtime分钟后跳转到结果界面 -->
  126. </form>
  127. </body>
  128. </html>

doDoubleOperation.jsp

  1. <%@ page import="com.jaovo.msg.model.DoubleOperation" %>
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3. pageEncoding="UTF-8"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>Insert title here</title>
  9.  
  10. </head>
  11. <body>
  12. <div style="text-align:right;">
  13. <a href="choose.jsp">题目定制</a>&nbsp;&nbsp;
  14. <a href="Welcome.jsp">退出</a><br><br>
  15. </div>
  16.  
  17. <%
  18. int correct=0;//计算正确的数目
  19. int error=0;//计算错误的数目
  20. int nullerror=0;//没答题的数目
  21. DoubleOperation doubleoperation=new DoubleOperation();
  22. double[] result=doubleoperation.getResult();
  23. String[] question=doubleoperation.getQuestion();
  24. int operationNumber=doubleoperation.getOperationNumber();
  25. System.out.println("count="+operationNumber);
  26. for(int i=0;i<operationNumber;i++)
  27. {
  28. String child_result=request.getParameter("child_result"+i);
  29. %>
  30.  
  31. <%=question[i] %><%=child_result %>&nbsp;&nbsp;&nbsp;
  32. <%
  33. if((null==child_result)||("".equals(child_result)))
  34. {
  35. nullerror++;
  36. %>
  37. &nbsp;&nbsp;&nbsp;正确答案是<%=result[i]%><br><br>
  38. <%
  39. }
  40. else
  41. {
  42. double child_result2=Double.valueOf(child_result);
  43. if(child_result2==result[i])
  44. {
  45. correct++;
  46. %>
  47. <br><br>
  48. <%
  49. }
  50. else
  51. {
  52. error++;
  53. %>
  54. ×&nbsp;&nbsp;&nbsp;正确答案是<%=result[i]%><br><br>
  55. <%
  56. }
  57. }
  58. }
  59. %>
  60. <!-- <iframe src='DoubleOperation.jsp'/> -->
  61. 恭喜你!答对了<%=correct %>道题,答错了<%=error %>道题,没答<%=nullerror %>道题!!!
  62. </body>
  63. </html>

四.三元运算

ThreeOperation.jsp

  1. <%@ page import="java.util.Random" %>
  2. <%@ page import="java.lang.Math" %>
  3. <%@ page import="com.jaovo.msg.model.DoubleOperation" %>
  4. <%@ page import="java.math.BigInteger" %>
  5. <%@ page language="java" contentType="text/html; charset=UTF-8"
  6. pageEncoding="UTF-8"%>
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  8. <html>
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  11. <title>三元运算</title>
  12. </head>
  13. <body>
  14. <form action="doDoubleOperation.jsp" method="post">
  15. <div style="text-align:right;">
  16. <a href="choose.jsp">题目定制</a>&nbsp;&nbsp;
  17. <a href="Welcome.jsp">退出</a><br><br>
  18. </div>
  19.  
  20. <%
  21. int character1=0;//第一个运算符+,-,*,/
  22. int character2=0;//第二个运算符
  23. int num1=0;//运算式中第一个数
  24. int num2=0;//运算式中第二个数
  25. int num3=0;//运算式中的第三个数
  26. int correct=0;//计算正确的数目
  27. int error=0;//计算错误的数目
  28. String operat=null;//计算式
  29. int operationNumber=Integer.parseInt(request.getParameter("OperationNumber"));//打印题目的数量
  30. String question[]=new String[operationNumber];
  31. double result[]=new double[operationNumber];//计算式的结果
  32. Random random = new Random();
  33. int Endtime=1; //跳转时间
  34.  
  35. for(int i=0;i<operationNumber;i++)//初始化计算式的结果
  36. {
  37. result[i]=0;
  38. question[i]=null;
  39. }
  40.  
  41. DoubleOperation doubleoperation=new DoubleOperation();//初始化.java文件中存储的计算公式个数,问题,答案
  42. doubleoperation.setOperationNumber(operationNumber);
  43. doubleoperation.setQuestion(question);
  44. doubleoperation.setResult(result);
  45.  
  46. for(int i=0;i<operationNumber;i++)
  47. {
  48.  
  49. character1=random.nextInt(4)%4+1;
  50. if(character1==1)//计算加法
  51. {
  52. num1=random.nextInt(100)%100;//随机出一个0~100的数
  53. num2=random.nextInt(100)%100;
  54. String number1=String.valueOf(num1);
  55. String number2=String.valueOf(num2);
  56. operat="第("+(i+1)+")题"+number1+"+"+number2;
  57. result[i]=num1+num2;
  58. }
  59. else if(character1==2)//计算减法
  60. {
  61. num1=random.nextInt(100)%100;//随机出一个1~100的数
  62. if(num1==0)
  63. num1=num1+2;//若num1=0,则加2
  64. num2=(int)random.nextInt(num1)%(num1);//随机出一个0~num1的数
  65. String number1=String.valueOf(num1);
  66. String number2=String.valueOf(num2);
  67. operat="第("+(i+1)+")题"+number1+"-"+number2;
  68. result[i]=num1-num2;
  69. }
  70. else if(character1==3)//计算乘法
  71. {
  72. num1=random.nextInt(9)%9;//随机出一个0~9的数
  73. num2=random.nextInt(9)%9;
  74. String number1=String.valueOf(num1);
  75. String number2=String.valueOf(num2);
  76. operat="第("+(i+1)+")题"+number1+"*"+number2;
  77. result[i]=num1*num2;
  78. }
  79. else //计算除法
  80. {
  81. do{
  82. num1=random.nextInt(81)%81;//随机出一个0~81的数
  83. if(num1>9)
  84. num2=random.nextInt(9)%9;
  85. else
  86. {
  87. if(num1==0)
  88. num1++;
  89. num2=(int)random.nextInt(num1)%(num1);
  90. }
  91. if(num2==0)//当num2=0再重新生成num2
  92. {
  93. num2=num2+1;
  94. }
  95. String number1=String.valueOf(num1);
  96. String number2=String.valueOf(num2);
  97. operat="第("+(i+1)+")题"+number1+"/"+number2;
  98. result[i]=num1/num2;
  99. }while((result[i]>=10)||(num1%num2!=0));//商为10以内的数
  100.  
  101. }
  102.  
  103. character2=random.nextInt(4)%4+1;
  104. if(character2==1)//计算第二个加号
  105. {
  106. num3=random.nextInt(100)%100;
  107. String number3=String.valueOf(num3);
  108. operat=operat+"+"+num3+"=";
  109. result[i]=result[i]+num3;
  110. }
  111. else if(character2==2)//第二个运算符是减号
  112. {
  113. if(result[i]==0)
  114. result[i]=result[i]+2;
  115. if(result[i]<100){
  116. num3=(int)random.nextInt((int)result[i])%((int)result[i]);//随机出一个小于被减数的数
  117. }
  118. else
  119. {
  120. num3=random.nextInt(100)%100;
  121. }
  122. String number3=String.valueOf(num3);
  123. operat=operat+"-"+num3+"=";
  124. result[i]=result[i]-num3;
  125. }
  126. else if(character2==3)//乘号
  127. {
  128. if(character1==2)//若第一个运算符是减号,则再随机出来一个第二个数与第三个随机的数小于第二个数 num1>=num2*num3 num3<=num1/num2
  129. {
  130. if(num2>9)
  131. {
  132. num2=(int)random.nextInt(9)%(9);
  133. }
  134. if(num1==0)
  135. num3=0;
  136. else
  137. {
  138. if(num2==0) num2=num2+1;
  139. int num4=num1/num2;
  140. num3=(int)random.nextInt(num4)%(num4);
  141. }
  142. if(num3>9)
  143. {
  144. num3=(int)random.nextInt(9)%(9);
  145. }
  146. String number3=String.valueOf(num3);
  147. operat="第("+(i+1)+")题"+num1+"-"+num2+"*"+num3+"=";
  148. result[i]=num1-(num2*num3);
  149. }
  150. else //第一个符号是加乘除。若是加,则先计算num2与num3,若是乘除,则计算顺序不变
  151. {
  152. if(character1==1){//第一个运算符是加号
  153. num3=(int)random.nextInt(100)%(100);
  154. String number3=String.valueOf(num3);
  155. operat=operat+"*"+num3+"=";
  156. result[i]=num1+(num2*num3);
  157. }
  158. else if(character1==3)//第一个符号是乘号,num1*num2<=9
  159. {
  160. String number2,number3;
  161. do{
  162. num2=(int)random.nextInt(9)%(9);
  163. result[i]=num1*num2;
  164. System.out.println("连乘"+result[i]);
  165. number2=String.valueOf(num2);
  166. }while(result[i]>9);
  167. num3=(int)random.nextInt(9)%(9);
  168. number3=String.valueOf(num3);
  169. operat="第("+(i+1)+")题"+num1+"*"+num2+"*"+num3+"=";
  170. result[i]=num1*num2*num3;
  171. }
  172. else {//第一个符号是除号
  173. num3=(int)random.nextInt(9)%(9);
  174. String number3=String.valueOf(num3);
  175. operat=operat+"*"+num3+"=";
  176. result[i]=result[i]*num3;
  177. }
  178. }
  179. }
  180. else//第二个运算符是除号
  181. {
  182.  
  183. if(num2>81){//第二个符号是除号
  184. num2=(int)random.nextInt(81)%(81);
  185. }
  186. if(character1==1)//第一个运算符是加号,先算num2/num3,再算num+(num2/num3)
  187. {
  188. String number3,number2;
  189. if(num2>81){//第二个符号是除号
  190. num2=(int)random.nextInt(81)%(81);
  191. }
  192. do{
  193.  
  194. if(num2>9)
  195. num3=random.nextInt(9)%9;
  196. else
  197. {
  198. if(num2==0)
  199. num2++;
  200. num3=(int)random.nextInt(num2)%(num2);
  201. }
  202. if(num3==0)
  203. {
  204. num3=num3+1;
  205. }
  206. number3=String.valueOf(num3);
  207. num2=random.nextInt(81)%(81);
  208. }while(((num2/num3)>=10)||(num2%num3!=0));//商为10以内的数
  209. operat="第("+(i+1)+")题"+num1+"+"+num2+"/"+num3+"=";
  210. result[i]=num1+(num2/num3);
  211. }
  212. else if(character1==2)//第一个运算式减号,则num1-num2/num3
  213. {
  214. String number3=null;
  215. int k=0;
  216. if(num2>81){//第二个符号是除号
  217. num2=(int)random.nextInt(81)%(81);
  218. }
  219. do{
  220. if(num2>9)
  221. num3=random.nextInt(9)%9;
  222. else
  223. {
  224. if(num2==0)
  225. num2++;
  226. num3=(int)random.nextInt(num2)%(num2);
  227. }
  228.  
  229. if(num3==0)
  230. {
  231. num3=num3+1;
  232. }
  233. number3=String.valueOf(num3);
  234. num2=(int)random.nextInt(81)%(81);
  235.  
  236. }while(((num2/num3)>=10)||(num2%num3!=0)||((num2/num3)>num1));//商为10以内的数
  237. operat="第("+(i+1)+")题"+num1+"-"+num2+"/"+num3+"=";
  238. result[i]=num1-(num2/num3);
  239. }
  240. else if(character1==4)//第一个运算符是除号,按顺序计算
  241. {
  242. String number3;
  243. do{
  244. if(result[i]>9)
  245. num3=random.nextInt(9)%9;
  246. else
  247. {
  248. if(result[i]==0)
  249. num2++;
  250. num3=(int)random.nextInt((int)result[i])%((int)result[i]);
  251. }
  252. if(num3==0)
  253. {
  254. num3=num3+1;
  255. }
  256. number3=String.valueOf(num3);
  257.  
  258. }while(((result[i]/num3)>=10)||(result[i]%num3!=0));//商为10以内的数
  259. operat=operat+"/"+number3+"=";
  260. result[i]=result[i]/num3;
  261. }
  262. else //第一个运算符是乘号,按顺序计算
  263. {
  264. do{
  265. if(result[i]>9)
  266. num3=random.nextInt(9)%9;
  267. else
  268. {
  269. if(result[i]==0)
  270. result[i]++;
  271. num3=(int)random.nextInt((int)result[i])%((int)result[i]);
  272. }
  273. if(num3==0)
  274. {
  275. num3=num3+1;
  276. }
  277. String number3=String.valueOf(num3);
  278. }while(((result[i]/num3)>=10)||(result[i]%num3!=0));//商为10以内的数
  279. operat=operat+"/"+num3+"=";
  280. result[i]=result[i]/num3;
  281. }
  282. }
  283. if(Double.valueOf(result[i])>100) {//如果结果大于100或小数位数大于1则不输出
  284. i--;
  285. }
  286. else {
  287. question[i]=operat;
  288. System.out.println(operat+result[i]);
  289. %>
  290. <%=operat %><input type="text" name="child_result<%=i %>" ><br> <br>
  291. <%
  292.  
  293. }
  294. }
  295.  
  296. %>
  297. <input type="submit" value="提交" name="提交">
  298.  
  299. <%
  300.  
  301. doubleoperation.setOperationNumber(operationNumber);
  302. doubleoperation.setQuestion(question);
  303. doubleoperation.setResult(result);
  304.  
  305. %>
  306. </form>
  307. </body>
  308. </html>

doThreeOperation.jsp

  1. <%@ page import="com.jaovo.msg.model.DoubleOperation" %>
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3. pageEncoding="UTF-8"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11. <div style="text-align:right;">
  12. <a href="choose.jsp">题目定制</a>&nbsp;&nbsp;
  13. <a href="Welcome.jsp">退出</a><br><br>
  14. </div>
  15.  
  16. <%
  17. int correct=0;//计算正确的数目
  18. int error=0;//计算错误的数目
  19. int nullerror=0;//没答题的数目
  20. DoubleOperation doubleoperation=new DoubleOperation();
  21. double[] result=doubleoperation.getResult();
  22. String[] question=doubleoperation.getQuestion();
  23. int operationNumber=doubleoperation.getOperationNumber();
  24. System.out.println("count="+operationNumber);
  25. for(int i=0;i<operationNumber;i++)
  26. {
  27. String child_result=request.getParameter("child_result"+i);
  28. %>
  29.  
  30. <%=question[i] %><%=child_result %>&nbsp;&nbsp;&nbsp;
  31. <%
  32. if((null==child_result)||("".equals(child_result)))
  33. {
  34. nullerror++;
  35. %>
  36. &nbsp;&nbsp;&nbsp;正确答案是<%=result[i] %><br><br>
  37. <%
  38. }
  39. else
  40. {
  41. double child_result2=Double.valueOf(child_result);
  42. if(child_result2==result[i])
  43. {
  44. correct++;
  45. %>
  46. <br><br>
  47. <%
  48. }
  49. else
  50. {
  51. error++;
  52. %>
  53. ×&nbsp;&nbsp;&nbsp;正确答案是<%=result[i]%><br><br>
  54. <%
  55. }
  56. }
  57. }
  58.  
  59. %>
  60. 恭喜你!答对了<%=correct %>道题,答错了<%=error %>道题,没答<%=nullerror %>道题!!!
  61.  
  62. </body>
  63. </html>

四则运算二(java web)的更多相关文章

  1. Java Web高性能开发(二)

    今日要闻: 性价比是个骗局: 对某个产品学上三五天个把月,然后就要花最少的钱买最多最好的东西占最大的便宜. 感谢万能的互联网,他顺利得手,顺便享受了智商上的无上满足以及居高临下的优越感--你们一千块买 ...

  2. Java Web 前端高性能优化(二)

    一.上文回顾 上回我们主要从图片的合并.压缩等方面介绍前端性能优化问题(详见Java Web 前端高性能优化(一)) 本次我们主要从图像BASE64 编码.GZIP压缩.懒加载与预加载以及 OneAP ...

  3. JAVA Web 之 struts2文件上传下载演示(二)(转)

    JAVA Web 之 struts2文件上传下载演示(二) 一.文件上传演示 详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397 二.文件下载 ...

  4. Java Web项目(Extjs)报错二

    1.Java Web项目(Extjs)报错二 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...

  5. Java Web入门学习(二) Eclipse的配置

    Java Web学习(二) Eclipse的配置 一.下载Eclipse 1.进入Eclipse官网,进行下载 上图,下载Eclipse IDE for JaveEE Developers 版本,然后 ...

  6. java web 二维码生成

    pom支持: <!-- 二维码支持包 start--> <dependency> <groupId>com.google.zxing</groupId> ...

  7. Java Web Servlet知识点讲解(二)

    一.定义Servlet: public class HelloServlet extends HttpServlet { @Override  protected void doGet(HttpSer ...

  8. Java Web学习(十二)Tomcat核心

    一.引言 其实按道理来说,学习Java web应该在前面的篇幅就写有关tomcat相关的知识点,不过近期看了一些资料,觉得以前仅仅只是知道用tomcat去发布我的项目,一些细节的东西也没有好好总结,这 ...

  9. Java web与web gis学习笔记(二)——百度地图API调用

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  10. Java web中常见编码乱码问题(二)

    根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析:   2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...

随机推荐

  1. redis压力测试详解

    redis做压测可以用自带的redis-benchmark工具,使用简单,效果也比较不错. linux下一般无需下载,windows下redis-benchmark压力测试工具下载地址:http:// ...

  2. python基础-元组

    操作元组 获取元组中的值 tup1 = ('高数','计算机',2008,2016) tup2 = (1,2,3,4,5,6,7) #和list的一样,同样取下标1,2,3,4的值 print(&qu ...

  3. Linux Shell: 统计系统中占用Swap 的程序PID和占用大小

    #!/bin/bash  SUM=0 OVERALL=0 for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+& ...

  4. 【LeetCode】091. Decode Ways

    题目: A message containing letters from A-Z is being encoded to numbers using the following mapping: ' ...

  5. vs2012解决scanf,printf编译出错的问题

    转自http://www.th7.cn/Program/c/201303/127343.shtml 在VS 2012 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: er ...

  6. phantomjs学习

    PhantomJS快速入门 本文简要介绍了PhantomJS的相关基础知识点,主要包括PhantomJS的介绍.下载与安装.HelloWorld程序.核心模块介绍等.由于鄙人才疏学浅,难免有疏漏之处, ...

  7. eclipse 上svn插件的安装,百度知道

    打开eclipse -> Help ->Install New Software选项, 点击Add按钮   根据需要,添加自己需要的版本svn控制器的版本,填写name和url,点击ok. ...

  8. border-radius实现圆弧阴影效果

    1 原理 利用border-radius实现一个圆弧边的矩形,并添加box-shadow,然后放在目标元素的下方 demo: html <div class="demo1"& ...

  9. Component概念

    转自:http://www.cnblogs.com/NEOCSL/archive/2012/05/06/2485227.html 1.总结 Component就是组建的意思,可以在DefaultPro ...

  10. android和iOS平台的崩溃捕获和收集

    转自:http://www.cnblogs.com/lancidie/archive/2013/04/13/3019349.html 通过崩溃捕获和收集,可以收集到已发布应用(游戏)的异常,以便开发人 ...