web四则混合运算2
一、设计思路:
先出题(String型)(上周已经实现),再写方法计算结果,加入控制有无乘除法,范围,参与计算数,出题数,页码显示等简单功能,有无括号和分数的计算目前还没能实现。
二、代码:
界面
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>四则运算</title>
- </head>
- <body>
- <h1>四则运算</h1>
- <form action="yunsuan.jsp" method="post">
- 出题页数:<input type="text" name = "shuliang"><br>
- <h2>1.整数运算 2.真分数运算</h2>
- 题目样式<input type="text" name="choose"><br><br>
- 数值范围<input type="text" name="xiao">
- <input type="text" name="da"><br><br>
- 变量个数<input type="text" name="geshu"><br>
- <h3>1.有乘除法 2.无乘除法</h3>
- 乘除法<input type="text" name="chengchu"><br>
- <input type="submit" value="提交">
- </form>
- </body>
- </html>
整数运算:
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- </head>
- <body>
- <%
- JspWriter mout=pageContext.getOut();
- String zh = request.getParameter("shuliang");
- String zhh = request.getParameter("choose");
- String Min=request.getParameter("xiao");
- String Max=request.getParameter("da");
- String shu = request.getParameter("geshu");
- String chu = request.getParameter("chengchu");
- int x=Integer.parseInt(zh);
- int y=Integer.parseInt(zhh);
- int min=Integer.parseInt(Min);
- int max=Integer.parseInt(Max);
- int z=Integer.parseInt(shu);
- int xx=Integer.parseInt(chu);
- int m,n,j,jj;
- char []ch=new char[4];
- ch[0]='+';
- ch[1]='-';
- ch[2]='*';
- ch[3]='/';
- if(y==1)
- {
- int []M=new int[10];
- for(int ii=1;ii<=x;ii++)
- {
- mout.print("30道题目");
- mout.print("<br>");
- String []A=new String[30];
- for(int i=0;i<30;i++)
- {
- A[i]="";
- for(int o=0;o<z;o++)
- {
- M[o]=(int)(Math.random()*max+min);
- if(xx==1)
- j=(int)(Math.random()*4+1);
- else
- j=(int)(Math.random()*2+1);
- if(o==z-1)
- A[i]=A[i]+M[o]+" =";
- else
- A[i]=A[i]+M[o]+" "+ch[j-1];
- }
- for(int k=0;k<i;k++)
- {
- if(A[i].equals(A[k]))
- {
- i--;
- break;
- }
- }
- }
- for(int i=0;i<30;i++)
- {
- mout.print((i+1)+". "+A[i]);
- mout.print("<br>");
- }
- mout.print("-"+ii+"-");
- mout.print("<br><br><br>");
- }
- }
- if(y==2)
- {
- for(int ii=1;ii<=x;ii++)
- {
- int a,b,c,d;
- String aa,bb;
- mout.print("30道题目");
- mout.print("<br>");
- String []B=new String[30];
- for(int i=0;i<30;i++)
- {
- a=(int)(Math.random()*100+1);
- b=(int)(Math.random()*100+1);
- if(a>b)
- aa=b+"/"+a;
- else if(a<b)
- aa=a+"/"+b;
- else
- aa="1";
- c=(int)(Math.random()*100+1);
- d=(int)(Math.random()*100+1);
- if(c>d)
- bb=d+"/"+c;
- else if(c<d)
- bb=c+"/"+d;
- else
- bb="1";
- j=(int)(Math.random()*4+1);
- B[i]=aa+" "+ch[j-1]+" "+bb+"=";
- for(int k=0;k<i;k++)
- {
- if(B[i].equals(B[k]))
- {
- i--;
- break;
- }
- }
- }
- for(int i=0;i<30;i++)
- {
- mout.print((i+1)+". "+B[i]);
- mout.print("<br>");
- }
- mout.print("-"+ii+"-");
- mout.print("<br><br><br>");
- mout.print("-"+ii+"-");
- mout.print("<br><br><br>");
- }
- }
- %>
- </body>
- </html>
截图:
web四则混合运算2的更多相关文章
- web四则混合运算3
一.程序要求: 可以控制下列参数: 是否有乘除法: 是否有括号(最多可以支持十个数参与计算): 数值范围: 加减有无负数: 除法有无余数! 二.设计思路 要求能够通过参数来控制有无乘除法,加减有无 ...
- Web四则混合运算
一.代码1: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...
- 软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想
对于小学四则混合运算出题软件的设计,通过分析设计要求,我觉得为了这个软件在今后便于功能上的扩充,可以利用上学期所学习的<编译原理>一课中的LL1语法分析及制导翻译的算法来实现.这样做的好处 ...
- 如何处理加括号的四则混合运算表达式——基于二叉树的实现(Eclipse平台 Java版)
记得上<数据结构>课程时,利用栈的特性解决过四则混合运算表达式.而如今在编写小型关系数据库的时候,编译部分要处理where后面的逻辑表达式——检查语法正确与否的同时,还要将信息传给下一个接 ...
- MathExamV2.0四则混合运算计算题生成器
MathExamV2.0四则混合运算计算题生成器----211606360 丁培晖 211606343 杨宇潇 一.预估与实际 PSP2.1 Personal Software Process Sta ...
- C语言编程学习:写的秒速计算四则混合运算项目
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- java 解析四则混合运算表达式并计算结果
package ch8; import java.util.LinkedList; import java.util.List; import java.util.Stack; /** * 四则混合运 ...
- 用C++实现的有理数(分数)四则混合运算计算器
实现目标 用C++实现下图所示的一个console程序: 其中: 1.加减乘除四种运算符号分别用+.-.*./表示, + 和 - 还分别用于表示正号和负号. 2.分数的分子和分母以符号 / 分隔. 3 ...
- 软件工程学习之小学四则混合运算出题软件 Version 1.1 设计思路及感想
继上次采用形式文法来生成混合运算的算式,由于算法中没有引入控制参数而导致容易产生形式累赘(多余的括号等)的算式.本次更新决定采用一种更为简单有效的生成方式,由给出的一个随机的最终答案S,通过给定的一个 ...
随机推荐
- mysql索引类型和方式
索引 数据库的索引就像一本书的目录,能够加快数据库的查询速度. MYSQL索引有四种PRIMARY.INDEX.UNIQUE.FULLTEXT, 其中PRIMARY.INDEX.UNIQUE是一类,F ...
- R语言中的采样与生成组合
不放回采样:sample(1:10, 5, replace = FALSE) 生成组合:
- int(a) 和 (int &) a 及 数据存储地址的探究
做题做到一个很有意思的题 void main() { float a = 1; cout << boolalpha << ((int)a == (int &)a); f ...
- 登录验证码实现(Captcha)
登录验证码 登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等. 我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点击可刷新,左边输入验 ...
- hdu1693
题解: 还是插头dp 代码: #include<cstdio> #include<cstring> #include<algorithm> #include< ...
- day25-python操作redis一
1. Python操作nosql数据库 NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2 ...
- JDBC连接数据库:单线程、多线程、批处理插入数据的对比
一.单线程(单条循环)插入50000条记录: 每执行一次就要访问一次数据库 import java.sql.Connection; import java.sql.DriverManager; imp ...
- 哈希表概念和实现,C/C++实现
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 三:使用docker-machine安装虚拟机上的docker
1.docker安装之后自带docker-machine:(需要win10专业版或mac) 2.如何远程管理一个docker-machine?(以下是Mac环境) 关闭本地的docker应用.运行do ...
- sys.argv]的用法
Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果, ...