一、设计思路:

  先出题(String型)(上周已经实现),再写方法计算结果,加入控制有无乘除法,范围,参与计算数,出题数,页码显示等简单功能,有无括号和分数的计算目前还没能实现。

二、代码:

界面

  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=ISO-8859-1">
  7. <title>四则运算</title>
  8. </head>
  9. <body>
  10. <h1>四则运算</h1>
  11. <form action="yunsuan.jsp" method="post">
  12. 出题页数:<input type="text" name = "shuliang"><br>
  13. <h2>1.整数运算 2.真分数运算</h2>
  14. 题目样式<input type="text" name="choose"><br><br>
  15. 数值范围<input type="text" name="xiao">
  16. <input type="text" name="da"><br><br>
  17. 变量个数<input type="text" name="geshu"><br>
  18. <h3>1.有乘除法 2.无乘除法</h3>
  19. 乘除法<input type="text" name="chengchu"><br>
  20. <input type="submit" value="提交">
  21. </form>
  22. </body>
  23. </html>

整数运算:

  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. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <%
  11. JspWriter mout=pageContext.getOut();
  12. String zh = request.getParameter("shuliang");
  13. String zhh = request.getParameter("choose");
  14. String Min=request.getParameter("xiao");
  15. String Max=request.getParameter("da");
  16. String shu = request.getParameter("geshu");
  17. String chu = request.getParameter("chengchu");
  18. int x=Integer.parseInt(zh);
  19. int y=Integer.parseInt(zhh);
  20. int min=Integer.parseInt(Min);
  21. int max=Integer.parseInt(Max);
  22. int z=Integer.parseInt(shu);
  23. int xx=Integer.parseInt(chu);
  24. int m,n,j,jj;
  25. char []ch=new char[4];
  26. ch[0]='+';
  27. ch[1]='-';
  28. ch[2]='*';
  29. ch[3]='/';
  30. if(y==1)
  31. {
  32. int []M=new int[10];
  33. for(int ii=1;ii<=x;ii++)
  34. {
  35. mout.print("30道题目");
  36. mout.print("<br>");
  37. String []A=new String[30];
  38. for(int i=0;i<30;i++)
  39. {
  40. A[i]="";
  41. for(int o=0;o<z;o++)
  42. {
  43. M[o]=(int)(Math.random()*max+min);
  44. if(xx==1)
  45. j=(int)(Math.random()*4+1);
  46. else
  47. j=(int)(Math.random()*2+1);
  48. if(o==z-1)
  49. A[i]=A[i]+M[o]+" =";
  50. else
  51. A[i]=A[i]+M[o]+" "+ch[j-1];
  52. }
  53. for(int k=0;k<i;k++)
  54. {
  55. if(A[i].equals(A[k]))
  56. {
  57. i--;
  58. break;
  59. }
  60. }
  61. }
  62. for(int i=0;i<30;i++)
  63. {
  64. mout.print((i+1)+". "+A[i]);
  65. mout.print("<br>");
  66. }
  67. mout.print("-"+ii+"-");
  68. mout.print("<br><br><br>");
  69. }
  70. }
  71. if(y==2)
  72. {
  73. for(int ii=1;ii<=x;ii++)
  74. {
  75. int a,b,c,d;
  76. String aa,bb;
  77. mout.print("30道题目");
  78. mout.print("<br>");
  79. String []B=new String[30];
  80. for(int i=0;i<30;i++)
  81. {
  82. a=(int)(Math.random()*100+1);
  83. b=(int)(Math.random()*100+1);
  84. if(a>b)
  85. aa=b+"/"+a;
  86. else if(a<b)
  87. aa=a+"/"+b;
  88. else
  89. aa="1";
  90. c=(int)(Math.random()*100+1);
  91. d=(int)(Math.random()*100+1);
  92. if(c>d)
  93. bb=d+"/"+c;
  94. else if(c<d)
  95. bb=c+"/"+d;
  96. else
  97. bb="1";
  98. j=(int)(Math.random()*4+1);
  99. B[i]=aa+" "+ch[j-1]+" "+bb+"=";
  100. for(int k=0;k<i;k++)
  101. {
  102. if(B[i].equals(B[k]))
  103. {
  104. i--;
  105. break;
  106. }
  107. }
  108. }
  109. for(int i=0;i<30;i++)
  110. {
  111. mout.print((i+1)+". "+B[i]);
  112. mout.print("<br>");
  113. }
  114. mout.print("-"+ii+"-");
  115. mout.print("<br><br><br>");
  116. mout.print("-"+ii+"-");
  117. mout.print("<br><br><br>");
  118. }
  119. }
  120. %>
  121. </body>
  122. </html>

截图:

web四则混合运算2的更多相关文章

  1. web四则混合运算3

    一.程序要求: 可以控制下列参数: 是否有乘除法: 是否有括号(最多可以支持十个数参与计算): 数值范围: 加减有无负数: 除法有无余数!   二.设计思路 要求能够通过参数来控制有无乘除法,加减有无 ...

  2. Web四则混合运算

    一.代码1: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...

  3. 软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想

    对于小学四则混合运算出题软件的设计,通过分析设计要求,我觉得为了这个软件在今后便于功能上的扩充,可以利用上学期所学习的<编译原理>一课中的LL1语法分析及制导翻译的算法来实现.这样做的好处 ...

  4. 如何处理加括号的四则混合运算表达式——基于二叉树的实现(Eclipse平台 Java版)

    记得上<数据结构>课程时,利用栈的特性解决过四则混合运算表达式.而如今在编写小型关系数据库的时候,编译部分要处理where后面的逻辑表达式——检查语法正确与否的同时,还要将信息传给下一个接 ...

  5. MathExamV2.0四则混合运算计算题生成器

    MathExamV2.0四则混合运算计算题生成器----211606360 丁培晖 211606343 杨宇潇 一.预估与实际 PSP2.1 Personal Software Process Sta ...

  6. C语言编程学习:写的秒速计算四则混合运算项目

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  7. java 解析四则混合运算表达式并计算结果

    package ch8; import java.util.LinkedList; import java.util.List; import java.util.Stack; /** * 四则混合运 ...

  8. 用C++实现的有理数(分数)四则混合运算计算器

    实现目标 用C++实现下图所示的一个console程序: 其中: 1.加减乘除四种运算符号分别用+.-.*./表示, + 和 - 还分别用于表示正号和负号. 2.分数的分子和分母以符号 / 分隔. 3 ...

  9. 软件工程学习之小学四则混合运算出题软件 Version 1.1 设计思路及感想

    继上次采用形式文法来生成混合运算的算式,由于算法中没有引入控制参数而导致容易产生形式累赘(多余的括号等)的算式.本次更新决定采用一种更为简单有效的生成方式,由给出的一个随机的最终答案S,通过给定的一个 ...

随机推荐

  1. mysql索引类型和方式

    索引 数据库的索引就像一本书的目录,能够加快数据库的查询速度. MYSQL索引有四种PRIMARY.INDEX.UNIQUE.FULLTEXT, 其中PRIMARY.INDEX.UNIQUE是一类,F ...

  2. R语言中的采样与生成组合

    不放回采样:sample(1:10, 5, replace = FALSE) 生成组合:

  3. int(a) 和 (int &) a 及 数据存储地址的探究

    做题做到一个很有意思的题 void main() { float a = 1; cout << boolalpha << ((int)a == (int &)a); f ...

  4. 登录验证码实现(Captcha)

    登录验证码 登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等. 我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点击可刷新,左边输入验 ...

  5. hdu1693

    题解: 还是插头dp 代码: #include<cstdio> #include<cstring> #include<algorithm> #include< ...

  6. day25-python操作redis一

    1.     Python操作nosql数据库 NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2 ...

  7. JDBC连接数据库:单线程、多线程、批处理插入数据的对比

    一.单线程(单条循环)插入50000条记录: 每执行一次就要访问一次数据库 import java.sql.Connection; import java.sql.DriverManager; imp ...

  8. 哈希表概念和实现,C/C++实现

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  9. 三:使用docker-machine安装虚拟机上的docker

    1.docker安装之后自带docker-machine:(需要win10专业版或mac) 2.如何远程管理一个docker-machine?(以下是Mac环境) 关闭本地的docker应用.运行do ...

  10. sys.argv]的用法

    Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果, ...