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,通过给定的一个 ...
随机推荐
- 在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持
在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持 http://www.cnblogs.com/ericsun/archive/2013/06/10/3130679.htm ...
- 补交第二周作业:学习ka li
在老师给的虚拟机上安装,试了n次都没有安装成功,百度上的说法也是众说纷纭. 之后重新安装了另一个版本的虚拟机,按照教程成功装上了ka li. 一. 安装VMtools:是为了方便宿主机与虚拟机间的文件 ...
- shell 数值运算
declare数值运算 linux默认变量类型为字符串 declare [+/-] [选项] 变量名 '-' 给变量设定类型属性 '+' 取消变量的类型属性 '-a' 将变量声明为数组型 '-i' 将 ...
- 用linq和datatable巧妙应用于微软报表rdlc
看看代码吧.现在我用Linq已经上瘾,对SQL语言已经几乎不用了,可惜的是rdlc不支持linq,要采用sql语言生成datatable,用datatable绑定rdlc,这里,应用了一个技巧,解决了 ...
- asp.net 发送电子邮件本地测试正常,但服务器上异常的解决办法
如题,这个问题曾经非常苦恼,代码肯定是没有问题的.在网上也查找了不少资料,按照他们的步骤做了,还是无效. 最后问题解决了,原来:我租用腾讯云服务器,腾讯为了防止垃圾邮件,禁止了邮件发送的25号端口,原 ...
- vue中的axios
数据的获取最常用的就是用ajax,但在vue框架中,axios则更为方便.它是基于es6的promise 以下内容引用自[最骚的就是你] 不再继续维护vue-resource,并推荐大家使用 axio ...
- SpringBoot+MyBatis+Mysql 详细示例
SpringBoot与MyBatis整合,底层数据库为mysql的使用示例 项目下载链接:https://github.com/DFX339/bootdemo.git 新建maven项目,web ...
- sqlalchem表关联(一对多,一对一,多对多)
简介: 一:一对多关系 1.表示一对多的关系时,在子表类中通过 foreign key (外键)限制本列的值,然后,在父表类中通过 relationship() 方法来引用子表的类. 2.示例代码: ...
- 最完整的mac安装caffe
Dependencies : [TIP : Though the official documentation suggests installing Anaconda, it would be be ...
- SpringBoot 上传、下载(四)
工程目录结构 完整代码: 1.pom.xml 首先当然是添加依赖,用到thymeleaf模板渲染html页面 <project xmlns="http://maven.apache.o ...