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 sql_mode=only_full_group_by问题?
视图查询的时候本地数据库报错: 解决办法: 1.查看sql_mode select @@global.sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_Z ...
- 最佳加法表达式(dp)
题目描述: 有一个由1..9组成的数字串.问如果将m个加 号插入到这个数字串中,在各种可能形成的 表达式中,值最小的那个表达式的值是多少 (本题只能用于整数) 解题思路: 假定数字串长度是n,添完加号 ...
- Java工厂方法模式
工厂方法模式: /** * 工厂方法模式:也叫工厂模式,属于创建型模式,父类工厂(接口)负责定义产品对象的公共接口, * 而子类工厂负责创建具体的产品对象. * 目的:是为了把产品的实例化操作延迟到子 ...
- It is never too late!
整理着过去的学习笔记,零零碎碎的,偶尔夹杂着当时的心境. 泛泛的学着东西,不很系统,不很深入,倒像是在拾海,有时捡捡贝壳,有时抓抓螃蟹.叹服大海的神奇,还没来得及深钻某个领域. (以下内容写于2016 ...
- bootstrap学习参考网站
----https://www. evget .com /article /
- Json使用示例
使用Json,可以下载如下所示的6个Jar包 整个工程目录结构如下: 简单的用法: package json; import net.sf.json.JSONArray; import net.sf. ...
- 每天CSS学习之text-overflow
text-overflow是CSS3的一个属性,其作用是当文本溢出包含它的元素时,应该裁剪还是将多余的字符用省略号来表示. 该属性一般和overflow:hidden属性一起使用. text-over ...
- list的四种遍历方式
1.手先增强for循环和iterator遍历的效果是一样的,也就说 增强for循环的内部也就是调用iteratoer实现的,但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容.不能获 ...
- :工厂模式1:方法模式--Pizza
#ifndef __PIZZA_H__ #define __PIZZA_H__ class Pizza { public: Pizza(){} virtual ~Pizza(){} virtual c ...
- 使用ext httpProxy代理获取列表但列表展示不全的问题解决
今天项目中遇到一个奇葩的事情,使用ext的jsonstore通过httpproxy代理想要获取一个列表,页面显示是有五条数据的但是却只展示了2条,于是各种排查,后台确定无误后开始检查前台,发现浏览器中 ...