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

———来自星星的感悟

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

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);%>
<%
classDid
{double Date[]=new double[10];//存放数据的数组char Operator[]=new char [11];//存放运算符的数组\char OperatorGo()//生成运算符的方法
{doublea;a= Math.random() % 4;if (a == 0){return'+';}if (a == 1){return'-';}if (a == 2){return'*';}else{return'/';}}charBrackets()
{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(intscope)
{for (int i = 0; i < 10; i++){if (Date[i] == 0||Date[i]<1){Date[i]= Math.random()%scope ;}}
}void ChangeOpreator(intnumber)
{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);}returnSuanshi;
}//以上为生成算式部分//下面是计算方法
double Calculate(intnumber)
{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];}}%><% classDo{public voidmain(String args[]){Did a=newDid();String Suansi;doubleRightas;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

网页版四则运算(未全部完成)相关推荐

  1. 四则运算网页版--结对项目

    前言: 这次项目是用前后台分离,后台代码由servlet编写.项目部署于我的个人服务器. github仓库地址https://github.com/LeonP3ng/CalculateWeb.git ...

  2. r语言 服务器网页版ide RStudio Server 简介

    目录 介绍 安装R 安装RStudio Server 创建账号 开始使用 注意事项 无法打开登录页 多用户使用 服务卡死 端口占用 外网使用 终端工具推荐 RStudio Server是网页版的RSt ...

  3. javascript小游戏_javaScript小游戏——网页版别踩白块

    一 项目简介 主要知识点:JavaScript.HTML.CSS 这是一个主要用JS实现的网页版小游戏,游戏规则很简单,通过点击不断下落的黑块来消灭它并获取分数,如果不幸黑块掉落下来或点到了白色区域那 ...

  4. 20W+喜爱的Pathview网页版 | 整合表达谱数据KEGG通路可视化

    Pathview网站简介 网址:https://pathview.uncc.edu/ 前段时间介绍了一个R包 - Pathview.它可以整合表达谱数据并可视化KEGG通路,操作是先自动下载KEGG官 ...

  5. 李彦宏:Apollo Moon共享无人车必须要比打车便宜;消息称iPhone 12 mini已停产;抖音网页版上线|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  6. 网页版简书界面优化小建议

    建议1:导读部分末尾的省略号字符可以添加单击后"展开全文"渲染效果或者直接进行简单的URL跳转,如图1: 图1 建议2:图1中的红心点赞图标没有必要做成按钮,也没有必要链接到正文U ...

  7. 中国矿业大学python期末考试_中国矿业大学一体化网络校园网——CUMTDDNet-DrCOM网页版认证教程...

    本帖最后由 lazygoat644 于 2020-11-3 20:58 编辑 资料仅供参考学习,请勿用于非法用途或者盈利,违者责任自负! *****该教程作者为Lee.像风一样,首发于github() ...

  8. 测试网页版淘宝购物车

    测试网页版淘宝购物车 界面测试: 1. 购物车页面布局是否合理,显示是否完整 2. 鼠标浮动在购物车图标,迷你购物车界面显示是否正常 3. 不同店铺的商品在不同的区域正确显示 4. 页面的菜单功能栏正 ...

  9. ESP8266_遥控小车网页版

    ESP8266_遥控小车网页版 话不多说,上代码 不懂的地方可以看这篇文章里面介绍的非常详细了 这里不多赘述回家 3 天,我做了一辆远程遥控小车 #include <ESP8266WiFi.h& ...

最新文章

  1. 超全大厂Java面试彩蛋
  2. UCI计算机工程必修专业课,加州大学欧文分校(UCI)工程专业系将会在2012年首次录取中国高中毕业生。...
  3. 存储过程--分页与C#代码调用
  4. 系统信息命令(uname、dmesg、df、hostname、free)
  5. 【Linux系统编程】同步和互斥的概念
  6. 7.4.8 数据压缩
  7. InstallShild的研究,msde2000,.netframwork,ScriptProject与ScriiptMSIProject的区别
  8. 360 linux 扩展文件夹,360签具名工Linux下载0907 官方版
  9. sql server2008中怎样用sql语句创建数据库和数据表
  10. FTP的主动模式与被动模式
  11. 珍爱生命,远离大厂政治斗争
  12. BugkuCTF-Crypto题奇怪的密码
  13. 无限极评论怎么删除php,TP5 无限极评论回复
  14. 计算机网络实验_专业介绍篇 | 计算机网络技术专业
  15. WebStorm——最智能的Javascript IDE
  16. 【Spring-AOP】源码分析汇总
  17. jtm 一键安装mysql_通过docker-compose配置快速实现zabbix安装
  18. 49. 把字符串转换成整数
  19. John F. Kennedy的就职演说(在线收听)
  20. 2021-2027全球与中国锂电池三元正极材料市场现状及未来发展趋势

热门文章

  1. Python---通配符的使用
  2. Struts2学习总结(完整版)
  3. 对lIKE语句的优化
  4. java通用分页条件查询_通用分页查询
  5. 认识 react 的钩子函数
  6. docker镜像无法删除 Error:No such image:xxxxxx
  7. 关于CI框架引入CSS与JS文件
  8. node 遍历读取制定后缀文件名
  9. 科学计算机java算法实现,(Java)科学型计算器开发及实现.doc
  10. Spark单独集群模式部署