簡(jiǎn)易科學(xué)計(jì)算器論文(Java+jsp)_第1頁
簡(jiǎn)易科學(xué)計(jì)算器論文(Java+jsp)_第2頁
簡(jiǎn)易科學(xué)計(jì)算器論文(Java+jsp)_第3頁
簡(jiǎn)易科學(xué)計(jì)算器論文(Java+jsp)_第4頁
簡(jiǎn)易科學(xué)計(jì)算器論文(Java+jsp)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

./目錄前言2第一章引言31.1項(xiàng)目的背景與意義31.2本文的工作3第二章簡(jiǎn)單計(jì)算器概述32.1需求分析32.2項(xiàng)目概述32.3功能模塊設(shè)計(jì)42.4系統(tǒng)功能圖4第三章簡(jiǎn)單計(jì)算器設(shè)計(jì)與實(shí)現(xiàn)53.1簡(jiǎn)單計(jì)算器界面53.2后臺(tái)代碼73.3科學(xué)計(jì)算器界面73.4后臺(tái)代碼分析9第四章計(jì)算器的實(shí)現(xiàn)與演示104.1簡(jiǎn)單計(jì)算器演示10結(jié)束語14致14[參考文獻(xiàn)]15前言所謂計(jì)算器〔calculator一般是指"電子計(jì)算器。計(jì)算器能進(jìn)行數(shù)學(xué)運(yùn)算的手持機(jī)器,擁有集成電路芯片,但結(jié)構(gòu)簡(jiǎn)單,比現(xiàn)代電腦結(jié)構(gòu)簡(jiǎn)單得多,可以說是第一代的電子計(jì)算機(jī)〔電腦,且功能也較弱,但較為方便與廉價(jià),可廣泛運(yùn)用于商業(yè)交易中,是必備的辦公用品之一。本計(jì)算器可以進(jìn)行簡(jiǎn)單的四則運(yùn)算〔加、減、乘、除但僅限于十進(jìn)制下,還可以進(jìn)行簡(jiǎn)單的科學(xué)計(jì)算開方、平方、正弦、余弦、log和log10的計(jì)算,最多可以輸入18位數(shù),可以保存上一次所存的計(jì)算結(jié)果C表示初始化,界面主是JSP,后臺(tái)為Java代碼,操作簡(jiǎn)便,主要采用的技術(shù)為JSP+JavaBean,不僅能鍛煉自己的編程能力,還可以根據(jù)自己的需要來編寫適合自己的計(jì)算器。引言項(xiàng)目的背景與意義隨著信息時(shí)代的步伐加快,越來越多的數(shù)據(jù)數(shù)字需要我們?nèi)ヌ幚?而在我們?nèi)粘I钷k公中遇到的一些基本的數(shù)字運(yùn)算,以往簡(jiǎn)單的口算筆算,然而現(xiàn)在不同了,人們對(duì)計(jì)算機(jī)、手機(jī)的依賴越來越高,遇到計(jì)算問題不再愿意去用腦去思考,而是交由手機(jī)或是電腦來完成。為了給自己設(shè)計(jì)一個(gè)能夠勝任自己學(xué)習(xí)工作的計(jì)算器,所以決定自己通過用所學(xué)的知識(shí)來編寫一個(gè)簡(jiǎn)單的計(jì)算器。為了完成這項(xiàng)工作,我在書上及網(wǎng)絡(luò)搜索了許多,通過分析比較,覺得不是很好,如很多用的是VB、VC等技術(shù)來編寫,不僅代碼繁多、容易出錯(cuò)、擴(kuò)展難,而且用起來不是很方便,我采用Java來編寫,以B/S的模式,方便自己使用,也可以方便別人,同時(shí)能使自己的技術(shù)水平得到鍛煉提高。本文的工作本文的工作是以兩個(gè)操作數(shù)進(jìn)行簡(jiǎn)單的加、減、乘、除運(yùn)算來完成基本的運(yùn)算,同時(shí)還可以為簡(jiǎn)單的科學(xué)運(yùn)算,如計(jì)算一個(gè)數(shù)的平方、開方、正弦、余弦、log、log10等操作。通過新技術(shù)、新方法來實(shí)現(xiàn)計(jì)算功能,顯示界面為JSP頁面,處理部分為Java代碼。第二章簡(jiǎn)單計(jì)算器概述需求分析我們?nèi)粘I畹拈_支,大額數(shù)字或是多倍小數(shù)的計(jì)算都需要計(jì)算器的幫助,處理數(shù)字的開方、正余弦都離不開計(jì)算器。雖然現(xiàn)在的計(jì)算器價(jià)格比較低廉,但是功能過于簡(jiǎn)單的不能滿足個(gè)人需求,功能多的價(jià)格較貴,操作不便不說,很多功能根本用不到。所以,我們想到可不可以用自己的所學(xué)為自己設(shè)計(jì)開發(fā)一個(gè)屬于自己的簡(jiǎn)單計(jì)算器來完成日常生活的需求。項(xiàng)目概述隨著Internet的普及,網(wǎng)絡(luò)給人們的學(xué)習(xí)工作生活帶來了莫大的好處。而現(xiàn)在較流利而又非常方便是以B/S模式設(shè)計(jì)開的,本計(jì)算器延續(xù)了此模式,顯示部分為JSP頁面,后臺(tái)控制部分為Java代碼,此計(jì)算器主要用了兩個(gè)JSP頁面,一個(gè)普通的加減乘除運(yùn)算器,別一個(gè)為處理平方、開方、正弦、余弦的計(jì)算器。通過調(diào)用SimpleBean.java中的兩個(gè)不同的方法來完成相應(yīng)的工作。First和Second為接收第一操作數(shù)和第二個(gè)操作數(shù)進(jìn)行對(duì)應(yīng)的加減乘除操作。Third為簡(jiǎn)單科學(xué)計(jì)算器的數(shù)據(jù)接收工作,來完成平方、開方、正余弦操作。功能模塊設(shè)計(jì)簡(jiǎn)單計(jì)算器通過視圖頁面中的對(duì)應(yīng)文本框,接受用戶輸入數(shù)據(jù)提交到JavaBean調(diào)應(yīng)的方法來完成相應(yīng)的功能,結(jié)果顯示在同一個(gè)頁面上。以下為簡(jiǎn)單計(jì)算器的基本功能:〔1加法兩個(gè)數(shù)據(jù)進(jìn)行加操作,可以為小數(shù)?!?減法兩個(gè)數(shù)據(jù)進(jìn)行減操作,可以為負(fù)數(shù)相減?!?乘法兩個(gè)數(shù)相乘,類型為Double型。〔4除法兩個(gè)數(shù)相除,類型為Double型。簡(jiǎn)單科學(xué)計(jì)算器平方接收的數(shù)相乘,結(jié)果保留一位小數(shù)。開方開方后的結(jié)果可以精確到16位。正弦正弦結(jié)果精確度同開方。余弦余弦結(jié)果精確度同上。LogLog運(yùn)算精確到16位。log10以10為底的log10,精確位數(shù)同上。系統(tǒng)功能圖計(jì)算器主要分為簡(jiǎn)單計(jì)算器和簡(jiǎn)單科學(xué)計(jì)算器,參照《JSP課程設(shè)計(jì)》具體功能如下圖所示計(jì)算器簡(jiǎn)單計(jì)算器簡(jiǎn)單科學(xué)計(jì)算器計(jì)算器簡(jiǎn)單計(jì)算器簡(jiǎn)單科學(xué)計(jì)算器圖2-1系統(tǒng)功能圖簡(jiǎn)單計(jì)算器加法運(yùn)算減法運(yùn)算乘法運(yùn)算簡(jiǎn)單計(jì)算器加法運(yùn)算減法運(yùn)算乘法運(yùn)算除法運(yùn)算簡(jiǎn)單科學(xué)計(jì)算器平方運(yùn)算開方運(yùn)算正弦運(yùn)算余弦運(yùn)算log運(yùn)算Log10運(yùn)算圖2-2簡(jiǎn)單計(jì)算器功能圖圖2-2簡(jiǎn)單科學(xué)計(jì)算器功能圖簡(jiǎn)單計(jì)算器設(shè)計(jì)與實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面計(jì)算器的界面由JSP來編寫,通過表單中的兩個(gè)單行文本框接收數(shù)據(jù)輸入,表單中嵌入表格,提交到處理頁面,進(jìn)行運(yùn)算處理,計(jì)算結(jié)果顯示在當(dāng)前頁面上,通過useBean調(diào)用SimpleBean.class參照,具體實(shí)現(xiàn)代碼如下所示代碼參照:zhidao.baidu./question/102067101.htmlFirst.jsp<%pagelanguage="java"import="java.applet.*"pageEncoding="GB2312"%><%pageimport="bean.SimpleBean;"%><JSP:useBeanid="calculator"scope="request"class="bean.SimpleBean"><JSP:setPropertyname="calculator"property="*"/></JSP:useBean><html><head><title>簡(jiǎn)單計(jì)算器</title></head><body><%try { calculator.calculate<>; out.print<"計(jì)算結(jié)果為:"+calculator.getFirst<>+calculator.getOperator<>+calculator.getSecond<> +"="+calculator.getResult<>>; }catch<Exceptione> {//System.out.print<e>; e.printStackTrace<>; }%><hr><formname="form1"method="post"action="first.JSP"><tablewidth="430"border="1"bordercolor="#003300"><trbgcolor="#999999"><tdheight="30"colspan="3"><divalign="center"class="STYLE1">簡(jiǎn)單計(jì)算器</div></td></tr><tr><td><divalign="center">第一個(gè)操作數(shù)</div></td><td><divalign="center">操作符</div></td><td><divalign="center">第二個(gè)操作數(shù)</div></td></tr><tr><td><inputtype=textname="first"maxlength="15"size="24"/></td><td><selectname="operator"><optionvalue="+">+</option><optionvalue="-">-</option><optionvalue="*">*</option><optionvalue="/">/</option></select></td><td><inputtype=textname="second"maxlength="15"size="24"/></td></tr><trbgcolor="#cccccc"><tdcolspan="3"><label><divalign="right"><inputtype="reset"name="Submit2"value="C"/><inputtype="submit"name="Submit"value="計(jì)算"/></div></label></td></tr></table></body></html>后臺(tái)代碼處理計(jì)算代碼是在bean.SimpleBean,中定義一個(gè)構(gòu)造方法,calculate<>,通過定義四個(gè)私有變量,來完成特定的工作,即privateStringfirst;//接收簡(jiǎn)單計(jì)算器中的第一個(gè)操作數(shù)privateStringsecond;//接收簡(jiǎn)單計(jì)算器中的第二個(gè)操作數(shù)privateStringoperator;//用于顯示操作符〔運(yùn)算符privatedoubleresult;//用于存儲(chǔ)運(yùn)算結(jié)果分別給set和get方法,主要運(yùn)算代碼如下:publicvoidcalculate<>{doubleone=Double.parseDouble<first>;doubletwo=Double.parseDouble<second>;try{if<operator.equals<"+">>result=one+two;elseif<operator.equals<"-">>result=one-two;elseif<operator.equals<"*">>result=one*two;elseif<operator.equals<"/">>result=one/two;//elseif<operator.equals<"sqrt">>result=java.lang.Math.sqrt<one>;}catch<Exceptione>{System.out.print<e>;}}科學(xué)計(jì)算器界面科學(xué)計(jì)算器延用了簡(jiǎn)單計(jì)算器的風(fēng)格,仍采用表格的形式,但由于只有一個(gè)操作數(shù),所以比簡(jiǎn)單計(jì)算器少一個(gè)單行文本框,運(yùn)算符采用下位列表框,用于選擇不同類別的運(yùn)算,具體實(shí)現(xiàn)界面部分代碼為Second.JSP<%pagelanguage="java"import="java.applet.*"pageEncoding="GB2312"%><%pageimport="bean.SimpleBean;"%><JSP:useBeanid="calculator"scope="request"class="bean.SimpleBean"><JSP:setPropertyname="calculator"property="*"/></JSP:useBean><html><head><title>簡(jiǎn)單科學(xué)計(jì)算器</title></head><body><%try { calculator.calculate_new<>; out.print<"計(jì)算結(jié)果為:"+calculator.getThird<>+""+calculator.getOperator<>+""+"="+calculator.getResult<>>; }catch<Exceptione> { e.printStackTrace<>; }%><hr><formmethod="post"action="second.JSP"><tablewidth="430"border="1"bordercolor="#003300"><trbgcolor="#CCCCFF"><tdheight="30"colspan="3"><divalign="center"class="STYLE1">簡(jiǎn)單科學(xué)計(jì)算器</div></td></tr><tr><td><divalign="center">輸入操作數(shù)</div></td><td><divalign="center">操作符</div></td><td><divalign="center">計(jì)算結(jié)果</div></td></tr><tr><tdwidth="180"><inputtype=textname="third"maxlength="15"size="24"/></td><td><selectname="operator"><optionvalue="square">平方</option><optionvalue="sqrt">開方</option><optionvalue="sin">正弦</option><optionvalue="cos">余弦</option><optionvalue="log">log</option><optionvalue="log10">log10</option></select></td><td><%=calculator.getResult<>%></td></tr><trbgcolor="#CCCCFF"><tdcolspan="3"><label></label><label><divalign="right"><inputtype="reset"name="Submit22"value="清空"/><inputtype="submit"name="Submit3"value="計(jì)算"/></div></label></td></tr></table></form></body></html>后臺(tái)代碼分析后臺(tái)執(zhí)行代碼仍是一個(gè)構(gòu)造方法,calculate_new<>返回值為void,定義了二個(gè)私有變量,其中result使用了簡(jiǎn)單計(jì)算器的變量。privatedoubleresult;//用于存儲(chǔ)運(yùn)算結(jié)果privateStringthird;//接收簡(jiǎn)單科學(xué)器的操作數(shù)分加給set和get方法,具體計(jì)算部分代碼為:publicvoidcalculate_new<>{doublethree=Double.parseDouble<third>;try{if<operator.equals<"square">>result=three*three;elseif<operator.equals<"sqrt">>result=java.lang.Math.sqrt<three>;elseif<operator.equals<"sin">>result=java.lang.Math.sin<three>;elseif<operator.equals<"cos">>result=java.lang.Math.cos<three>;elseif<operator.equals<"log">>result=java.lang.Math.log<three>;elseif<operator.equals<"log10">>result=java.lang.Math.log10<three>; }catch<Exceptione>{ e.printStackTrace<>; }}計(jì)算器的實(shí)現(xiàn)與演示簡(jiǎn)單計(jì)算器演示啟動(dòng)Tomcat服務(wù)器,運(yùn)行項(xiàng)目,在IE中輸入localhost:8080/JiSuanqi/index.JSP,顯示為localhost指本地本機(jī)IP〔或127.0.0.1,8080為訪問的端口號(hào),JiSuanqi項(xiàng)目名,index.JSP為主面first.JSP為簡(jiǎn)單計(jì)算器,"C"為清除鍵,界面如圖4-1所示:圖4-1簡(jiǎn)單計(jì)算器主界面加法運(yùn)算,第一個(gè)操作數(shù)輸入為"2010",第二操作數(shù)輸入為"510",點(diǎn)"計(jì)算"如圖4-2所示圖4-2計(jì)算2010+510的結(jié)果除法運(yùn)算,第一個(gè)操作數(shù)輸入"2012",第二個(gè)操作數(shù)輸入為"4","計(jì)算"后的結(jié)果如圖4-3所示圖4-3計(jì)算2012/2的結(jié)果注:以下的對(duì)應(yīng)輸入框中的數(shù)據(jù)為后來輸入,原數(shù)據(jù)計(jì)算后系統(tǒng)自動(dòng)清空。簡(jiǎn)單科學(xué)計(jì)算器演示科學(xué)計(jì)算器只有一個(gè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論