《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx

上传人:b****5 文档编号:6478993 上传时间:2023-01-06 格式:DOCX 页数:9 大小:40.62KB
下载 相关 举报
《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx_第1页
第1页 / 共9页
《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx_第2页
第2页 / 共9页
《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx_第3页
第3页 / 共9页
《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx_第4页
第4页 / 共9页
《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx

《《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx》由会员分享,可在线阅读,更多相关《《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx(9页珍藏版)》请在冰豆网上搜索。

《WEB应用与开发》基于WEB的简易计算器课程设计报告.docx

《WEB应用与开发》基于WEB的简易计算器课程设计报告

HUNANCITYUNIVERSITY

WEB应用与开发课程设计

报告

 

设计题目:

基于WEB的简易计算器

专业:

信息管理与信息系统

学生姓名:

XXXXX

班级学号:

XXXXXXXXXXXXXXX

分组成员:

XXXXXXXXXXXXXXXXXXXXXXXX

指导教师:

XXXXXXXXXXXXXXXXXXXX

2012年6月8日

《WEB应用与开发》课程设计报告

XXXXXXXXXXXXXXXXXXXXXXX

一、设计时间

2012年6月04日-----6月08日

总的设计时间为1周,第17周。

具体安排如下:

1、分析设计准备阶段(第17周周一至周二)

2、编程调试阶段(第17周周三至第17周周四)

3、书写设计报告和书写说明书阶段(第17周周五)

4、考核阶段(第17周周五)

二、设计地点

信息科学与工程学院机房(新校区510机房)

三、设计目的

通过对一些实际问题的软件设计,巩固学习java基础知识方面的基本算法,进一步熟悉基本概念。

使学生能将课本的理论知识应用于实践,运用所用学的JSP语言知识编制出较为实用的小系统,培养学生查阅资料的习惯,提高学生独立思考和解决问题的能力。

四、设计小组成员

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

五、指导老师

XXXXXXXXXXXXXXXXXXXXXX

六、设计课题

基于WEB的简易计算器

七、基本思路及关键问题的解决方法

基本思路:

对于简易的计算器可以进行简单的加减乘除运算。

用JavaScript实现基本的计算器界面,因基础有限界面做的不够美观。

用servlet接收主界面的数据对其进行运算并把结果返回给主界面显示。

问题解决方法:

对于实验过程中产生的相关问题,我们小组成员先进行讨论,对于不能解决的问题,通过网络查找,对于查找不到的向老师询问。

八、算法及流程图

算法:

1、通过jsp页面接收按钮输入的运算字符,利用js技术处理。

2、servlet接收一数学表达式,对表达式进行递归解析,分解出其中的数字和运算符。

3、然后调用不同的函数进行运算后返回结果。

4、输出到到计算器显示框内。

流程图:

(附录一)

九、调试过程中出现的问题及相应解决办法

在计算过程中,对于错误的运算不能提示信息,这个问题对于计算器而言,这个问题是比较严重的。

出现了这个问题,我们小组首先是自己讨论,试了很多方法都不能实现。

心理比较着急,但感觉无从入手,由于基础薄弱不能自己解决,所以查找了很多资料,从网上找到了答案,最后利用eval函数得到了解决。

十、课程设计心得体会

这次课程设计我们小组选做的是基于WEB的简易计算器,主要是用于动态网页实现简易的加减乘除计算功能。

系统分为用JavaScript实现基本的计算器界面和用servlet接收页面的数据对其进行运算并把结果返回给主界面显示两部分,每一部分又各分若干专题。

系统中采用的技术主要有:

servlet技术、JavaScript脚本技术和利用MyEclipse集成开发环境。

通过这次课程设计,我发现要学习好一门课程,一定要理论与实践相结合。

要通过大量的实验才能对知识得心入手。

由于平时上机并没有完成的十分好,所以在这次课程设计中很多时候总是感觉捉襟见肘,才发现书到用时方恨晚啊。

所以这次学到的不仅仅是书本上的知识,更重要的是学到了一种学习的态度。

 

(本人有完整的项目需要的话发邮件给我491990141@)

十一、源程序()

JavaScript实现基本的计算器界面.jsp:

<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>

DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:

//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//www.w3.org/1999/xhtml">

简易计算器

//使用js

//js代码

varPd=true;

vartextValue="";

//定义一个函数,获取键入字符的value值

functiongetButtonValue(number){

textValue=document.getElementById("textId");

if(Pd){

textValue.value+=number;

}

//清空文本框内容

functionclearall(){

document.simCalculator.textId.value="";

}

//回删

functiondeleteNum(){

varValue=document.getElementById("textId");

document.simCalculator.textId.value=Value.value.substring(0,Value.value.length-1);

}

//-->

servlet接收主界面的数据对其进行运算并把结果返回给主界面显示MyCalculator.java:

packagecalculator.web;

importjava.io.IOException;

importjava.io.PrintWriter;

importjava.math.BigDecimal;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importcalculator.exception.MyException;

publicclassMyCalculatorextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

Stringstr=request.getParameter("textId");

try{

Stringresult=sumStr(str);

request.setAttribute("result",result);

request.getRequestDispatcher("/3.jsp").forward(request,response);

}catch(MyExceptione){

request.setAttribute("error",e);

request.getRequestDispatcher(

"/servlet/ErrorServlet").forward(request,response);

}

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

doGet(request,response);

}

publicStringsumStr(Stringstr){

if(str.startsWith("+")||str.startsWith("-")||str.startsWith("/")||str.startsWith("*")){

thrownewMyException("表达式不正确");

}//判读加号

if(str.indexOf("+")>=0){

Stringstr1=str.substring(0,str.lastIndexOf("+"));

Stringstr2=str.substring(str.lastIndexOf("+")+1);

if(str1.indexOf("+")>0||str1.indexOf("-")>0||str1.indexOf("*")>0||str1.indexOf("/")>0){

str1=sumStr(str1);

}

if(str2.indexOf("+")>0||str2.indexOf("-")>0||str2.indexOf("*")>0||str2.indexOf("/")>0){

str2=sumStr(str2);

}

return""+(parseBigDecimal(str1).add(parseBigDecimal(str2)));

}

//判读减号

if(str.indexOf("-")>=0){

Stringstr1=str.substring(0,str.lastIndexOf("-"));

Stringstr2=str.substring(str.lastIndexOf("-")+1);

if(str1.indexOf("+")>0||str1.indexOf("-")>0||str1.indexOf("*")>0||str1.indexOf("/")>0){

str1=sumStr(str1);

}

if(str2.indexOf("+")>0||str2.indexOf("-")>0||str2.indexOf("*")>0||str2.indexOf("/")>0){

str2=sumStr(str2);

}

return""+(parseBigDecimal(str1).subtract(parseBigDecimal(str2)));

}

//判读乘号

if(str.indexOf("*")>=0){

Stringstr1=str.substring(0,str.lastIndexOf("*"));

Stringstr2=str.substring(str.lastIndexOf("*")+1);

if(str1.indexOf("+")>0||str1.indexOf("-")>0||str1.indexOf("*")>0||str1.indexOf("/")>0){

str1=sumStr(str1);

}

if(str2.indexOf("+")>0||str2.indexOf("-")>0||str2.indexOf("*")>0||str2.indexOf("/")>0){

str2=sumStr(str2);

}

return""+(parseBigDecimal(str1).multiply(parseBigDecimal(str2)));

}

//判断除号

if(str.indexOf("/")>=0){

Stringstr1=str.substring(0,str.lastIndexOf("/"));

Stringstr2=str.substring(str.lastIndexOf("/")+1);

if(str1.indexOf("+")>0||str1.indexOf("-")>0||str1.indexOf("*")>0||str1.indexOf("/")>0){

str1=sumStr(str1);

}

if(str2.indexOf("+")>0||str2.indexOf("-")>0||str2.indexOf("*")>0||str2.indexOf("/")>0){

str2=sumStr(str2);

}

if(parseBigDecimal(str2).intValue()==0){

thrownewMyException("被除数不能为0");

}

return""+(parseBigDecimal(str1).divide(parseBigDecimal(str2),5,BigDecimal.ROUND_HALF_UP));

}

//最后把结果返回

returnstr;

}

privateBigDecimalparseBigDecimal(Stringstr1){

BigDecimalbig=newBigDecimal(str1);

returnbig;

}

}

十二、参考文献

[1]夏士兵,钱江.构建基于COM+的分布式Web应用[J].微型机与应用,2001(6):

8-9.

[2][美]RichardAnderson,ChrisBlexrud著,刘福太,张立民,金慧琴,梁发麦等译.ASP3高级编程[M].北京:

机械工业出版社,2000.408-458.

[3]耿祥义,张跃平.《JSP实用教程》.清华大学出版社,2003年5月1日:

1-354.

[4]BruceEckel.《JSP编程思想》.机械工业出版社,2003年10月:

1-378.

[5]FLANAGAN.《JSP技术手册》.中国电力出版社,2002年6月:

1-465.

[6]孙一林,彭波.《JSP数据库编程实例》.清华大学出版社,2002年8月:

30-210.

[7]LEEANNEPHILLIPS.《巧学活用HTML4》.电子工业出版社,2004年8月:

1-319.

[8]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:

32-300.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1