

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> Java課程設(shè)計(jì)報(bào)告</p><p> 題目:計(jì)算器 </p><p> 專(zhuān)業(yè):網(wǎng)絡(luò)工程 </p><p> 學(xué)號(hào): </p><p> 姓名: </p><p> 日期:2011-11-26 </p><p>&
2、lt;b> 目錄</b></p><p> 一、課程設(shè)計(jì)任務(wù)及要求3</p><p><b> 二、需求分析3</b></p><p><b> 三、設(shè)計(jì)思路3</b></p><p><b> 四、詳細(xì)設(shè)計(jì)4</b></p>
3、<p> 五、運(yùn)行調(diào)試與分析討論14</p><p> 六、設(shè)計(jì)體會(huì)與小結(jié)14</p><p><b> 七、參考文獻(xiàn)15</b></p><p> 一、課程設(shè)計(jì)任務(wù)及要求</p><p><b> 1.課程設(shè)計(jì)任務(wù):</b></p><p> 模
4、仿windows自帶的計(jì)算器,設(shè)計(jì)一個(gè)圖形界面(GUI)的計(jì)算器應(yīng)用程序,完成簡(jiǎn)單的算術(shù)運(yùn)算。通過(guò)對(duì)計(jì)算器的編輯來(lái)檢測(cè)和提升自己的java編程能力,并最終完成課程設(shè)計(jì)報(bào)告! </p><p><b> 2.課程設(shè)計(jì)要求:</b></p><p> ?。?)應(yīng)用自己所學(xué)課程知識(shí)完成對(duì)計(jì)算器的基本任務(wù)。</p><p> (2)查閱相關(guān)資料,學(xué)
5、習(xí)和掌握項(xiàng)目中涉及的新知識(shí),提高自學(xué)能力。</p><p> (3)通過(guò)應(yīng)用java程序編寫(xiě)計(jì)算器來(lái)提升自己對(duì)簡(jiǎn)單的圖形界面有一定的掌握和了解。</p><p><b> 二、需求分析</b></p><p> 設(shè)計(jì)的計(jì)算器可以完成加法、減法、乘法、除法的簡(jiǎn)單運(yùn)算。</p><p> 實(shí)現(xiàn)一些簡(jiǎn)單的擴(kuò)展運(yùn)算,如:
6、正負(fù)號(hào)、倒數(shù)、退格、清零等功能。</p><p> 添加小數(shù)點(diǎn)功能,用以實(shí)現(xiàn)浮點(diǎn)型數(shù)據(jù)的計(jì)算。</p><p> 使用布局管理器設(shè)計(jì)一個(gè)計(jì)算器的界面,使用事件監(jiān)聽(tīng)器處理數(shù)據(jù)的輸入,并完成 相關(guān)的計(jì)算。</p><p><b> 三、設(shè)計(jì)思路</b></p><p> 界面設(shè)計(jì):(如圖1)</p>
7、<p><b> 圖1</b></p><p><b> 設(shè)計(jì)思路:</b></p><p> 根據(jù)所設(shè)計(jì)出來(lái)的界面,首先要設(shè)計(jì)其GUI界面,總體界面有一個(gè)文本框,20個(gè)按鈕,總體界面用BorderLayout布局,文本框放置在最NORTH,然后0到9以及+,-,*,/等按鈕放置到一個(gè)面板Panel中,完成界面設(shè)計(jì)。</p
8、><p> 設(shè)計(jì)計(jì)算流程,首先點(diǎn)擊數(shù)字按鈕時(shí),將按鈕數(shù)值添加到文本框當(dāng)中,并將該數(shù)值保存到一個(gè)字符串中,再次點(diǎn)擊數(shù)字按鈕時(shí),將之前保存的字符串與新的數(shù)值拼接起來(lái),再添加到文本框當(dāng)中,直到點(diǎn)擊運(yùn)算符按鈕時(shí),將文本框當(dāng)中的字符串保存在一個(gè)字符串變量中,然后重置文本框內(nèi)容,將運(yùn)算符號(hào)顯示到文本框中,隨后輸入第二個(gè)計(jì)算數(shù)據(jù)時(shí),用同樣的辦法保存數(shù)據(jù),最后通過(guò)控制“=”運(yùn)算符先將字符串?dāng)?shù)據(jù)轉(zhuǎn)化成雙精度類(lèi)型,然后計(jì)算出結(jié)果并顯示
9、到文本框當(dāng)中。</p><p> 基本運(yùn)算設(shè)計(jì)完成以后則開(kāi)始考慮其他個(gè)別功能的實(shí)現(xiàn),例如倒數(shù)、清零、退格等功能的實(shí)現(xiàn),清零直接重置文本框內(nèi)容,退格功能則采用substring函數(shù)截取字符串長(zhǎng)度。</p><p><b> 四、詳細(xì)設(shè)計(jì)</b></p><p><b> 1.程序流程圖:</b></p>
10、<p> 2.主要代碼展示及說(shuō)明:</p><p> import java.awt.*;import java.awt.event.*;</p><p> public class Calculation extends WindowAdapter implements ActionListener{ double dResult=0; dou
11、ble dNowInput=0; double dMemory; int n=0; //記載小數(shù)位數(shù) int nOperation=1; // 記錄運(yùn)算符類(lèi)型 int nBitsNum=0; //記錄總共輸入的位數(shù) boolean alreadyHaveDot=false; //已經(jīng)有小數(shù)點(diǎn)? boolean keyA
12、vailable=true; boolean alreadyClickedEqueal=false; //是否按下過(guò)"="? boolean isTempNowInput=false; //是否在計(jì)算出結(jié)果后直接按運(yùn)算符將結(jié)果賦給了當(dāng)前輸入值? Frame f; Panel p1,p2,p3,p4,p5,p6; TextField tf1,tf
13、2; Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0; Button bD</p><p> 五、運(yùn)行調(diào)試與分析討論</p><p> 1.簡(jiǎn)單的運(yùn)算:(以除法為例:569/56)</p><p> 分析:計(jì)算的結(jié)果為10.160714285714286,為雙精度型,計(jì)算的結(jié)果被設(shè)置在文本框的最右端,該計(jì)算器的
14、一個(gè)特點(diǎn)是可直接在文本框中輸入數(shù)據(jù)以及進(jìn)行更改。</p><p> 2.倒數(shù)的運(yùn)算:(以125為例)</p><p> 分析:輸出的結(jié)果如圖所示,倒數(shù)功能實(shí)現(xiàn),計(jì)算時(shí),不僅是結(jié)果,輸入的數(shù)據(jù)同樣可以先實(shí)現(xiàn)倒數(shù)功能后再進(jìn)行相應(yīng)的計(jì)算,沒(méi)有影響!</p><p> 平方根的運(yùn)算:(以1024為例)</p><p> 分析:輸出的結(jié)果如圖所
15、示,本計(jì)算器平方根的運(yùn)算特點(diǎn),就算是是計(jì)算后得出的結(jié)果也能實(shí)現(xiàn)平方根的運(yùn)算。</p><p><b> 4.總體分析:</b></p><p> 該計(jì)算器基本運(yùn)算沒(méi)有問(wèn)題,清零、正負(fù)號(hào)、求倒數(shù)、平方根、退格功能都能很好的實(shí)現(xiàn),總體能完成一個(gè)計(jì)算器的基本功能,但仍有許多地方需要改進(jìn),比如小數(shù)點(diǎn)的實(shí)現(xiàn)所存在的一些問(wèn)題,雖然在基本的運(yùn)算過(guò)程當(dāng)中不會(huì)造成太大影響,但這依然
16、不能認(rèn)為是一個(gè)很好的計(jì)算器,同時(shí),在另一方面,該計(jì)算器還沒(méi)能很好的實(shí)現(xiàn)連續(xù)計(jì)算的功能,必須每次按下等號(hào)按鈕計(jì)算出結(jié)果后才能用產(chǎn)生的結(jié)果接著進(jìn)行下一次的計(jì)算,改進(jìn)的方法是在運(yùn)算符上同時(shí)注冊(cè)Result類(lèi),讓運(yùn)算符同時(shí)擁有計(jì)算結(jié)果的功能。</p><p><b> 六、設(shè)計(jì)體會(huì)與小結(jié)</b></p><p> 本次課程設(shè)計(jì)到此算是告一段落了,經(jīng)過(guò)這次的學(xué)習(xí),我學(xué)到了很
17、多東西,在此基礎(chǔ)上更加鞏固了自己對(duì)java的認(rèn)識(shí)與了解。</p><p> 在做本項(xiàng)目是時(shí)候,會(huì)遇到很多小問(wèn)題,比如說(shuō),在整個(gè)運(yùn)算過(guò)程中要如何確保輸入的計(jì)算數(shù)據(jù)哪個(gè)是第一個(gè)計(jì)算數(shù)據(jù)的,哪個(gè)是第二個(gè)計(jì)算數(shù)據(jù)的,同時(shí)也要區(qū)分運(yùn)算符,因?yàn)樵撚?jì)算器程序應(yīng)用的都是利用字符串來(lái)完成計(jì)算的,而且不能重復(fù)輸出運(yùn)算符,更不能將運(yùn)算符錯(cuò)誤的存儲(chǔ)在了第一個(gè)計(jì)算數(shù)據(jù)的數(shù)值中,也得考慮到萬(wàn)一不小心重復(fù)點(diǎn)擊了運(yùn)算符按鈕會(huì)不會(huì)造成第一個(gè)計(jì)算
18、數(shù)據(jù)的重新賦值等等問(wèn)題,最后想到利用布爾類(lèi)型來(lái)很好的控制運(yùn)算符的應(yīng)用!</p><p> 此次課程設(shè)計(jì)讓我更了解熟悉了Java中的圖形用戶界面和它的編程方式。在完成課題的過(guò)程中也不斷充實(shí)了自己,學(xué)習(xí)到了很多以前沒(méi)有學(xué)習(xí)到的知識(shí),收獲很大。最大的收獲就是對(duì)大學(xué)學(xué)習(xí)的總結(jié)和培養(yǎng)了解決困難的信心和能力,使我對(duì)所學(xué)知識(shí)能夠融會(huì)貫通,又不斷豐富了新知識(shí)。Java計(jì)算器設(shè)計(jì)使得我們對(duì)所學(xué)的專(zhuān)業(yè)課有了更為深刻的認(rèn)識(shí),使得知識(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算器java課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器
- java課程設(shè)計(jì)---計(jì)算器
- java課程設(shè)計(jì)—計(jì)算器
- java課程設(shè)計(jì)計(jì)算器
- java計(jì)算器課程設(shè)計(jì)
- java課程設(shè)計(jì)--計(jì)算器
- java課程設(shè)計(jì)計(jì)算器
- java_計(jì)算器課程設(shè)計(jì)
- java課程設(shè)計(jì)-計(jì)算器系統(tǒng)
- java課程設(shè)計(jì)---科學(xué)計(jì)算器
- java課程設(shè)計(jì)報(bào)告—計(jì)算器
- java課程設(shè)計(jì)----簡(jiǎn)易計(jì)算器
- java實(shí)現(xiàn)計(jì)算器課程設(shè)計(jì)
- java課程設(shè)計(jì)-計(jì)算器系統(tǒng)
- java計(jì)算器課程設(shè)計(jì)報(bào)告
- java計(jì)算器課程設(shè)計(jì)報(bào)告---模擬科學(xué)計(jì)算器
- java計(jì)算器課程設(shè)計(jì)---計(jì)算器模擬程序
- java課程設(shè)計(jì)報(bào)告--計(jì)算器設(shè)計(jì)
- java計(jì)算器課程設(shè)計(jì)-- 計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- java課程設(shè)計(jì)模擬科學(xué)計(jì)算器
評(píng)論
0/150
提交評(píng)論