网页版四则运算(未全部完成)

     这次作业一直在做,一直在拖着,总感觉心里亏欠点什么,但是人就是这样,一件事情本来做起来就没有太多成功的几率,就想着延长工期,那就一直拖着吧,拖得时间越久你就会越发清晰地意识到自己已经非常触头去做那件事情了,仿佛它成了你的软肋,仿佛你命中注定就该不会去解决它一般。幸好,我还有继续做下去的勇气。。。

                                                                                                                                                                                        ———来自星星的感悟

    实现思路:其实思路并不难。

    1. 先编写一个运行界面HTML文件,用DW做非常简单。界面中包含定量的一些数据:比如参加运算的个数,运算数据的范围

    2.以及一些用户输入的数据,如:计算结果

    3.和运行界面返回的数据,如:生成的计算式,以及正确的计算结果,以及用户正确回答和错误回答的个数;

    4.编写运行程序.jsp文件,参数从先编写好的HTML文件中传到.jsp文件中

    5.具体实现方法以及详细步骤前面的习题中已经写过,前面使用的c++语言,这儿用的Java但是思想是一致的。

以下是实现代码:

index.html文件

<!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>四则运算计算器</title>
<style type="text/css">
<!--
a {font-family: Georgia, Times New Roman, Times, serif;font-weight: bold;
}
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
a:link {color: #0000FF;
}
a:visited {color: #FF00FF;
}
a:hover {color: #00FFFF;
}
a:active {color: #00FF55;
}
-->
</style></head>
<form action="Untitled-1.jsp" method="get">
</form><body background="1449af6eddc451daf9216940b6fd5266d21632e5.jpg">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="771" height="49" title="落花雨"><param name="movie" value="&#33931;&#33931;%20-%20&#33853;&#33457;&#38632;%20%5Bmqms2%5D.mp3"><param name="quality" value="high"><embed src="&#33931;&#33931;%20-%20&#33853;&#33457;&#38632;%20%5Bmqms2%5D.mp3" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="771" height="49"></embed>
</object>
<div align="center"><table width="40%"  border="2" cellpadding="1"><caption align="left"><div align="center" class="style1"><h2 align="center"><strong>四则运算计算器</strong></h2></div></caption><tr><th width="67%" bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">参加计算的数的个数:</th><td width="33%" align="center" valign="top" bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#FFFFFF"><div align="center" class="style1">
<select name="number" size="1">
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<br/></div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">参加计算的数据范围:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#2A3F55"><div align="center"><input type="text" name=fanwei/><br/>
</div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">生成结果:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#808080"><div align="center">        <%request.setCharacterEncoding("utf-8");String shizi= request.getParameter("Suanshi");%><%="shizi"%><br/></div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">您的计算结果:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#00FF00"><div align="center"><input type="text" name=jieguo/><br/></div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">正确答案:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#FF00FF"><div align="center"><br/></div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">总计:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#A0A0A4"><div align="center"><input type="text" name=sum/><br/></div></td></tr></table><h2 ><input type ="submit" name="submit" value="提交">    <input type ="reset" name="rein" value="重置"></h2><h2 >&nbsp;</h2>
</div></body>
</html>

.jsp文件
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="GB18030"%>
<!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>
处理代码
</title>
</head>
<body>
<%      request.setCharacterEncoding("utf-8");String n = request.getParameter("number");int number=Integer.valueOf(n);String ra = request.getParameter("rightAs");double    rightAs=Double.valueOf(ra);String fw = request.getParameter("fanwei"); int fanwei=Integer.valueOf(fw);String jg = request.getParameter("jieguo");  double jieguo=Double.valueOf(jg);
%>
<% 
class Did
{double Date[]=new double[10];//存放数据的数组char Operator[]=new char [11];//存放运算符的数组\char OperatorGo()//生成运算符的方法
     {double a;a = Math.random() % 4;if (a == 0){return'+';}if (a == 1){return'-';}if (a == 2){return'*';}else{return'/';}}char Brackets()
{return'(';
}
void Cun(int number, int scope)//将生成的数据存到数组内,scope为数据范围
{int control=0;for (int i = 0; i < number; i++){Date[i] =Math.random()%scope;}for (int j = 0; j < number +1; j++){double m =Math.random()*6;if ((int)m==0&&control==0){Operator[j]=Brackets();control++;}else{Operator[j] = OperatorGo();}}
}
void ChangeDate(int scope)
{for (int i = 0; i < 10; i++){if (Date[i] == 0||Date[i]<1){Date[i] = Math.random()%scope ;}}
}
void ChangeOpreator(int number)
{for (int i = 0; i < number; i++)
{if (Operator[i] == '('&&i<=number-2){Operator[i+2] = ')';}if (Operator[i] == '('&&i >= number - 2){Operator[i] = OperatorGo();}}
}
String  Output(int number, int scope)//输出计算式
{String Suanshi="";ChangeOpreator( number);ChangeDate(scope);for (int i = 0; i <number-1; i++){Suanshi+=Date[i];if (Operator[i] == '('){if (Operator[i - 1] == '+'){Suanshi=Suanshi+"+";}if (Operator[i - 1] == '-'){Suanshi=Suanshi+"-";}if (Operator[i - 1] == '*'){Suanshi=Suanshi+"×";}if (Operator[i - 1] == '/'){Suanshi=Suanshi+"÷";}System.out.println ( Operator[i]);}else if (Operator[i] == ')'){System.out.println ( Operator[i]);if (Operator[i - 1] == '+'){Suanshi=Suanshi+"+";}if (Operator[i - 1] == '-'){Suanshi=Suanshi+"-";}if (Operator[i - 1] == '×'){Suanshi=Suanshi+"+";}if (Operator[i - 1] == '/'){Suanshi=Suanshi+"÷";}}else{Suanshi=Suanshi+ String.valueOf(Operator[i]);}ChangeOpreator(number);ChangeDate(scope);}return Suanshi;
}
//以上为生成算式部分
//下面是计算方法
double Calculate(int number)
{for (int k = 0; k < number - 1;k++){if (Operator[k] == '('){if (Operator[k + 1] == '+'){Date[k + 2] = Date[k + 1] + Date[k + 2];Date[k + 1] = 0;Operator[k] = '+';Operator[k + 2] = '+';}if (Operator[k + 1] == '-'){Date[k + 2] = Date[k + 1] - Date[k + 2];Date[k + 1] = 0;Operator[k] = '+';Operator[k + 2] = '+';}if (Operator[k + 1] == '*'){Date[k + 2] = Date[k + 1]*Date[k + 2];Date[k + 1] = 0;Operator[k] = '+';if (Operator[k - 1] == '+'){Operator[k+1] = '+';}if (Operator[k - 1] == '-'){Operator[k+1] = '-';}if (Operator[k - 1] == '*' ){Date[k + 1] = 1;}if (Operator[k - 1] == '/'){Date[k + 1] = 1;Operator[k + 1] = '/';}Operator[k + 2] = '+';}if (Operator[k + 1] == '/'){Date[k + 2] = Date[k + 1] / Date[k + 2];Date[k + 1] = 0;Operator[k] = '+';if (Operator[k - 1] == '+'){Operator[k + 1] = '+';}if (Operator[k - 1] == '-'){Operator[k + 1] = '-';}if (Operator[k - 1] == '*'){Date[k + 1] = 1;}if (Operator[k - 1] == '/'){Date[k + 1] = 1;Operator[k + 1] = '/';}Operator[k + 2] = '+';}}}for (int i = 0; i < number - 1; i++){if (Operator[i] == '*'){Date[i + 1] = Date[i] * Date[i + 1];Date[i] = 0;if (i == 0){Operator[i] = '+';}if (Operator[i - 1] == '+'){Operator[i] = '+';}if (Operator[i - 1] =='-'){Operator[i] = '-';}}if (Operator[i] == '/'){Date[i + 1] = Date[i] / Date[i + 1];Date[i] = 0;if (i == 0){Operator[i] = '+';}if (Operator[i - 1] == '+'){Operator[i] = '+';}if (Operator[i - 1] == '-'){Operator[i] = '-';}}}for (int j = 0; j < number - 1; j++){if (Operator[j] == '+'){Date[j + 1] = Date[j] + Date[j + 1];Date[j] = 0;}if (Operator[j] == '-'){Date[j + 1] = Date[j] - Date[j + 1];Date[j] = 0;}}return Date[number - 1];}} %><% class Do{public void main(String args[]){Did a=new Did();String Suansi;double Rightas;int R = 0, E = 0;for (int k = 0; k <number; k++){a.Cun(number, fanwei);Suansi=a.Output(number, fanwei);Rightas=a.Calculate(number);}}}%><jsp:forward page="zuoye.htm"></jsp:forward>
</body>
</html>

 

文件运行结果截图:

转载于:https://www.cnblogs.com/aishangtaxuefeihong/p/5408436.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个DataGridView辅助类

DataGridView是在用C#做windows界面程序时常用到的控件,DataGridView的功能非常多,用起来也非常复杂 例如1. 我想在每行前面显示行编号,则需要先设置RowHeadersVisible为true,然后,在添加RowPostPaint事件,而RowPostPaint写起来也大同小异,这就非常没有必要.期望一个DataGridVi…

java 压缩文件夹_java 实现压缩文件(单文件 或 文件夹)

接着上篇了解一下java压缩实现过程&#xff0c;下面的是支持 单文件 或 文件夹 压缩的实现&#xff0c;使用递归。效果&#xff1a;代码&#xff1a;package com.gx.compress;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;imp…

java处理中文字符串_Java实现读取文章中重复出现的中文字符串

在上个星期阿里巴巴一面的时候&#xff0c;最后面试官问我如何把一篇文章中重复出现的词或者句子找出来&#xff0c;当时太紧张&#xff0c;答的不是很好。今天有时间再来亲手实现一遍。其实说白了也就是字符串的处理&#xff0c;所以难度并不是很大。以下是代码和运行效果&…

java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...

原标题&#xff1a;java原生程序redis连接(连接池/长连接和短连接)选择问题最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接&#xff0c;以及连接池和单连接等问题用几篇博客来总结下。这个问题的具体发生在java原生程序和redis的交互中。这个问题对我最…

mysql 操作xm_mysql基本命令使用

启动mysql>net start mysql连接mysql>mysql -u root -h 127.0.0.1 -p password断开mysql连接>qult;查看mysql服务器所有数据库列表>show databases;选择mysql数据库>use database_name;创建数据库>create database database_name;删除数据库>drop databas…

mysql集群重启报错lock_CentOS7.2 下 MySQL 之 PXC 集群部署【Docker+单机多节点】

背景【注意】: 鄙人认为本篇适合做入门测试/学习之用&#xff0c;选择的 "单机多节点配置"&#xff0c;后面再整理 "多机配置"文章.近期正突击学习数据库知识想着对 PXC 集群部署实际操作一番&#xff0c;提高技能点&#xff0c;为后续的升职加薪做充足的准…

Fragment销毁时replace和add两个方法的区别

这个首先从一个bug说起&#xff0c;如图: 我们都知道fragment切换有两种方式&#xff1a; 1. replace方式 transaction.replace(R.id.content, IndexFragment); 2. add&#xff0d;hide&#xff0d;show方式 transaction.add(R.id.content, IndexFragment); transaction.hide(…

子集生成 --二进制法

用二进制表示{0,1,2,3...n-1}的子集s&#xff1b;从右往左第i位表示元素i是否在集合s中。图2表示10100110是如何展示了集合{1,2,5,7}的。 注意&#xff1a;为了方便&#xff0c;最右边的为总是对应元素0&#xff0c;而不是元素1&#xff1b; 异或最重要的性质就是开关型---异或…

20150303+JQuery选择器-02

20150303JQuery选择器-02 三、文档处理 插入 删除 复制 替换 包裹 查找 1、插入操作——内部插入 jQuery <div> jQuery hello jQuery</div> l append(content) &#xff1a;将content内容插入到元素的尾部 l appendTo(content) &#xff1a;将匹配到的元素插入到co…

java实现记事本查找_Java实现记事本

首先说明&#xff0c;这是可能本人大学所写的最后一个Java程序了&#xff0c;接下来写C。一直想写这个程序很久了&#xff0c;作为跟计算器类似的经典小程序&#xff0c;写一下还是挺有意义的。本来觉得这程序不难写&#xff0c;其实各个部分综合起来&#xff0c;还是挺麻烦的&…

机器学习 —— 概率图模型(Homework: CRF Learning)

概率图模型的作业越往后变得越来越有趣了。当然&#xff0c;难度也是指数级别的上涨啊&#xff0c;以至于我用了两个周末才完成秋名山神秘车牌的寻找&#xff0c;啊不&#xff0c;CRF模型的训练。 条件随机场是一种强大的PGM&#xff0c;其可以对各种特征进行建模&#xff0c;同…

java生成四则运算表达式_生成四则运算(java实现)

|博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/ ||作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11376||作业目标 | 写一个能自动生成小学四则运算题目的程序 ||学号 | 3190704130 |代码如下&#xff1a;//main函数所在区域主要实现生成…

Kali Linux—借助 SET+MSF 进行网络钓鱼、生成木马、获主机shell、权限提升、远程监控、钓鱼邮件等完整渗透测试(三)

钓鱼邮件 当攻击者制作了钓鱼网站、木马程序后&#xff0c;便会想法设法将其传给受害者&#xff0c;而常见的传播方式便是钓鱼网站了。安全意识较差的用户在收到钓鱼邮件后点击邮件中的钓鱼链接、下载附件中的木马程序&#xff0c;便可能遭受攻击&#xff01; 工具简介 Swak…

struts2拦截器详解

在之前的文章中&#xff0c;我们已经涉及到了拦截器&#xff08;Interceptor&#xff09;的概念。 downpour 写道拦截器是AOP中的概念&#xff0c;它本身是一段代码&#xff0c;可以通过定义“织入点”&#xff0c;来指定拦截器的代码在“织入点”的前后执行&#xff0c;从而起…

为什么选用 React 创建混合型移动应用?

【编者按】本文作者为 14islands 联合创始人、创新 Web 开发者 David Lindkvist&#xff0c;主要介绍有关混合型应用搭建的方方面面。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 最近&#xff0c;我们有幸与 Fjord 合作&#xff0c;从零开始为其用户打造了一款 HMTL5 混合型应…

python中减法运算函数_OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减...

OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减法的差异对比? ? 前往老猿Python博文目录 ?在《OpenCV-Python图像的加法运算cv2.add函数详解》详细介绍了图像的加法运算&#xff0c;有加法就有减…

数据访问......单条件查询与多条件查询

一. 将数据库数据访问封装成类 <?php class DB {public $host "localhost"; //服务器地址public $uid "root"; //用户名public $pwd "123"; //密码//执行SQL语句,返回相应结果的方法//$sql代表要执行的SQL语句,$type代表…

java集合类分析-hashset

一、 HashSet概述&#xff1a; HashSet实现Set接口&#xff0c;由哈希表&#xff08;实际上是一个HashMap实例&#xff09;支持。它不保证set 的迭代顺序&#xff1b;特别是它不保证该顺序恒久不变。此类允许使用null元素。 二、 HashSet的实现&#xff1a; 对于HashSet而言&…

站立会议 2

这是我们的第二次人员集中&#xff0c;主要是讨论一下接下来的一些工作安排&#xff0c;还有讨论一下在准备过程中出现的一些问题&#xff01; 项目进展&#xff1a; 今天的会议中&#xff0c;我们讨论了我们的项目进展&#xff0c;结果是&#xff1a;我们都已经找到了小球还有…

转为win64后, MS的lib问题

> 正在创建库 C:\Users\Administrator\Desktop\branch-Unicode-156\\Temp\Link\PointCloudMeasure\x64\Debug\PointCloudMeasure.lib 和对象 C:\Users\Administrator\Desktop\branch-Unicode-156\\Temp\Link\PointCloudMeasure\x64\Debug\PointCloudMeasure.exp1>vtkXM…