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

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

                                                                                                                                                                                        ———来自星星的感悟

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

    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,一经查实,立即删除!

相关文章

webapp 微信开发适配问题

文章摘自&#xff1a;http://www.cnblogs.com/oksite/p/4630462.html 前段时间由于公司要做微信app 前端主要有我一个人独立开发 分享一下自己独立开发微信app的一些经验 首先说下 适配兼容的问题&#xff1b; 主要的问题还是安卓手机参差不齐&#xff0c;每个手机都有自带一个…

python安装copy_python中copy和deepcopy 的区别

请简述赋值&#xff0c; 深拷贝和浅拷贝的区别?(python中如何拷贝一个对象?)直接赋值(li1 li): 只传递对象的引用&#xff0c; li1指向对象li的内存地址空间,因此&#xff0c; 原有列表li改变&#xff0c; 被赋值的li1也会做相应的改变.浅拷贝:li和li2的内存地址不同,但是子…

iOS中的小知识点

1.tableView隐藏滚动条 self.tableView.showsVerticalScrollIndicator NO; 2.关于属性 使用assign: 对基础数据类型 &#xff08;NSInteger&#xff0c;CGFloat&#xff09;和C数据类型&#xff08;int, float, double, char, 等等&#xff09; 使用copy&#xff1a; 对NSStri…

一个DataGridView辅助类

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

java单例设计模式_Java设计模式之单例模式详解

在Java开发过程中&#xff0c;很多场景下都会碰到或要用到单例模式&#xff0c;在设计模式里也是经常作为指导学习的热门模式之一&#xff0c;相信每位开发同事都用到过。我们总是沿着前辈的足迹去做设定好的思路&#xff0c;往往没去探究为何这么做&#xff0c;所以这篇文章对…

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

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

学习笔记day5:inline inline-block block区别

1. block元素可以包含block元素和inline元素&#xff1b;但inline元素只能包含inline元素。要注意的是这个是个大概的说法&#xff0c;每个特定的元素能包含的元素也是特定的&#xff0c;所以具体到个别元素上&#xff0c;这条规律是不适用的。比如 P 元素&#xff0c;只能包含…

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

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

python的collection系列-默认字典(defaultdict)

默认字典&#xff0c;能定义默认值为其他类型 1 #dic1 {}2 #dic1["k1"].append("kkkkk") #正常情况会报错3 #print(dic1)4 5 import collections6 dic collections.defaultdict(list) #指定字典的值为列表7 dic["k1"].append("…

jquery获取java对象的属性_jQuery - 获得内容和属性

jQuery - 获得内容和属性jQuery 拥有可操作 HTML 元素和属性的强大方法。jQuery DOM 操作jQuery 中非常重要的部分&#xff0c;就是操作 DOM 的能力。jQuery 提供一系列与 DOM 相关的方法&#xff0c;这使访问和操作元素和属性变得很容易。提示&#xff1a;DOM Document Objec…

用border画三角形

<html> <head> <title>用border画三角形</title> <style>#one{width:0px;height:0px;margin:0 auto;border-top:50px solid white;border-right:50px solid white;border-bottom:50px solid orange;border-left:50px solid white;} </style&g…

iOS9适配(包括APNs)的改变

https://github.com/ChenYilong/iOS9AdaptationTips转载于:https://www.cnblogs.com/zkzzkz/p/5426658.html

javascript知识点记录(2)

1.js 异步加载和同步加载 异步加载模式也叫非阻塞模式&#xff0c;浏览器在下载js的同时&#xff0c;同时还会执行后续的页面处理&#xff0c; 在script标签内&#xff0c;用创建一个script元素&#xff0c;并插入到document中&#xff0c;这样就是异步加载js文件了 //以前的一…

java form的时间格式_SpringMvc接收日期表单提交,自动转换成Date类型方法

User中有birthday(Date)属性&#xff0c;用户注册的时候&#xff0c;选择日期即可&#xff0c;然后提交表单&#xff0c;可spring mvc 报错&#xff0c;400 Bad Request意思是不能把字符串转为Date类型的。实体类中加日期格式化注解DateTimeFormat(pattern "yyyy-MM-dd&q…

Groovy安装与入门实例

Groovy安装与入门实例 摘自: http://blog.csdn.net/dc_726/article/details/8576205 1 Groovy是什么&#xff1f; 来看下官网的介绍&#xff1a;http://groovy.codehaus.org Groovy... is an agile and dynamic language for the Java Virtual Machine builds upon the stren…

Ubuntu设置为命令行登录

rootubuntu:~# vi /etc/default/grub 改: 11 #GRUB_CMDLINE_LINUX_DEFAULT"quiet splash"12 GRUB_CMDLINE_LINUX_DEFAULT"quiet splash text" rootubuntu:~# update-grub rootubuntu:~# reboot 转载于:https://www.cnblogs.com/mylinux/p/5437543.html

java开发平台普元_java开发平台的两种实现模式

从目前国内主流的java开发平台看&#xff0c;主要有两种实现模式&#xff1a;引擎模式及生成源代码模式。引擎模式比较有代表性的是华丹平台(https://www.huadaninfo.com)&#xff0c;生成源代码模式比较有名是的普元平台(http://www.primeton.com)首先说一下引擎模式&#xff…

sde用户下使用sqlplus登录错误ORA-12547: TNS:lost contact

环境&#xff1a;linux oracle arcsde 解决&#xff1a;root用户下增加$ORACLE_HOME/bin/oracle文件的s权限[oraclelocalhost bin]$ chmod s oracle查看权限[oraclelocalhost bin]$ ls -al oracles权限参考 chmod s 可以给文件/目录 设置 suid和sgid转载于:https://www.cnblo…

java版本streamgobbler_java调用本地命令 Runtime class's exec() method

一个简单的定时调用dos命令的例子2,ExecJavac.java 带有异常处理的命令调用例子3,GoodWindowsExec.java 执行windows下的命令&#xff0c;命令作为参数输入StreamGobbler.java4,GoodWinRedirect.java 一个调用命令相对复杂的例子&#xff0c;复合命令StreamRedirectGobbler.jav…

Linux定时任务

最近在做一个SHELL脚本&#xff0c;要求每月1号执行一次。 不管是SHELL脚本&#xff0c;还是定时任务&#xff0c;都是刚接触。今天先记录下定时任务的解决过程&#xff0c;shell脚本的总结等测试无误后写出来。 root以及其他用户可以使用 crontab -e 命令添加定时任务 crontab…