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