版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> Java程序設(shè)計</b></p><p> 課程設(shè)計(論文)說明書</p><p> 題目: 簡 易 計 算 器</p><p><b> 摘 要</b></p><p> 在人們的日常生活中,計算器系統(tǒng)是很常見的。本次的課程設(shè)計就是研究這類的問題,利用Ja
2、va語言實現(xiàn)簡單的加、減、乘、除運算,還要對在運算過程中可能出現(xiàn)的問題進行處理,在本程序中,利用try、catch語句來實現(xiàn)對可能出現(xiàn)的異常進行捕獲、處理。在課程設(shè)計中,系統(tǒng)開發(fā)平臺為Windows 7,程序設(shè)計設(shè)計語言采用Java,程序運行平臺為Windows 7,程序開發(fā)工具為Eclipse,其中還要用到JDK的配置等。計算器要實現(xiàn)簡單的加、減、乘、除運算,其中在除法運算中對除數(shù)不能為零的情況做簡單的處理,把問題拋出,并在計算器的文
3、本框中輸出相應(yīng)的 “除數(shù)不能為零!” 信息。</p><p> 在本次課程設(shè)計中,將重點學(xué)習(xí)GUI的設(shè)計。在GUI的設(shè)計中,學(xué)習(xí)容器、組件的相關(guān)知識,并且對其中的組件設(shè)置事件監(jiān)聽,然后處理監(jiān)聽到的事件。整個系統(tǒng)有一個無參構(gòu)造函數(shù);九個方法,其中包括一個主方法;八個類,其中包括七個事件監(jiān)聽類。</p><p> 關(guān)鍵詞:Java程序設(shè)計、Eclipse的安裝配置、JDK的安裝配置、系統(tǒng)變
4、量、try-catch語句、GUI圖形用戶界面、主方法、容器、組件、無參構(gòu)造函數(shù)、事件監(jiān)聽類</p><p><b> 目 錄</b></p><p> 第一章 前 言4</p><p> 1.1工作基礎(chǔ)及應(yīng)用環(huán)境4</p><p><b> 1.2研究意義4</b></p
5、><p> 第二章 開發(fā)環(huán)境的集成4</p><p> 2.1 Eclipse及JDK的安裝配置4</p><p> 2.1.1 Eclipse的安裝配置4</p><p> 2.1.2 JDK的安裝配置5</p><p> 第三章 系統(tǒng)需求分析及實現(xiàn)目標(biāo)6</p><p>
6、 3.1系統(tǒng)需求分析6</p><p> 3.2系統(tǒng)實現(xiàn)目標(biāo)7</p><p> 第四章 計算器系統(tǒng)設(shè)計7</p><p> 第五章 實現(xiàn)過程10</p><p> 第六章 總結(jié)12</p><p><b> 參考文獻13</b></p><p&g
7、t;<b> 致 謝13</b></p><p><b> 第一章 前 言</b></p><p> 1.1工作基礎(chǔ)及應(yīng)用環(huán)境</p><p> 經(jīng)過一學(xué)期的java學(xué)習(xí),對java的基本知識有了一定的了解,對各方面的知識形成了一定的系統(tǒng),在這樣的基礎(chǔ)下進行java課程設(shè)計,加強這一學(xué)期所學(xué)的知識點,鞏固系
8、統(tǒng)知識,并在實際應(yīng)用中靈活的應(yīng)用。</p><p> 應(yīng)用環(huán)境是:在Windows的操作系統(tǒng)中都可以應(yīng)用此軟件。</p><p><b> 1.2研究意義</b></p><p> 通過實訓(xùn)把知識形成系統(tǒng),把自己所學(xué)的知識在實際問題中加以運用。如果自己編寫的程序能夠給更多的人帶來方便,并且得到人們的好評,那么自己編寫的程序就可以實現(xiàn)商品化
9、,形成產(chǎn)品給更多的人利用,并實現(xiàn)一定的商品價值。</p><p> 1.3進度安排及分組情況</p><p> 進度安排:利用第十六周一周的時間,把計算器程序的代碼編寫出來,并且能夠運行,實現(xiàn)預(yù)期所想要的結(jié)果;第十七周的時間主要是書寫實訓(xùn)報告,中間穿插軟件測試的內(nèi)容,把軟件的功能完善;在第十七周的最后一次課之前進行答辯,完成本次的課程設(shè)計實訓(xùn)。</p><p>
10、 第二章 開發(fā)環(huán)境的集成</p><p> 2.1 Eclipse及JDK的安裝配置</p><p> 2.1.1 Eclipse的安裝配置</p><p> Java開發(fā)工具有很多,比如:Eclipse 3.7、Netbeans 7.0、Myeclipse,其中Myeclipse就是Eclipse集成了很多插件,此軟件工具是要收費的。我所用的java開發(fā)
11、工具是Eclipse,此軟件是設(shè)計好的軟件,不需要安裝就可以使用。</p><p> 2.1.2 JDK的安裝配置</p><p> JDK環(huán)境變量的配置方法有兩種,具體配置方法如下:</p><p> 一、JDK環(huán)境變量的配置:</p><p> 1、新建系統(tǒng)變量:JAVA_HOME,其變量值為:"c:\java\jdk1
12、.6.0_10"。</p><p> 2、編輯系統(tǒng)變量:Path,在其變量值文本框末端添加字符串:";%JAVA_HOME%\bin;"。</p><p> 3、新建用戶變量:CLASSPATH,其變量值為:".;c:\java\jdk1.6.0_10\lib\tools.jar;"。</p><p> 二、J
13、DK環(huán)境變量的配置:</p><p> 1、新建系統(tǒng)變量:JAVA_HOME,其變量值為:"c:\java\jdk1.6.0_10"。</p><p> 2、編輯系統(tǒng)變量:Path,在其變量值文本框末端添加字符串:";%JAVA_HOME%\bin;"。</p><p> 3、新建系統(tǒng)變量:CLASSPATH,其變量值為
14、:".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar"。</p><p> 下面以Window 7操作系統(tǒng)具體介紹JDK的配置方法:</p><p> 1、打開系統(tǒng)屬性對話框,然后點擊下面的環(huán)境變量按鈕:</p><p> 2、在打開的環(huán)境變量對話框中,進行JDK環(huán)境變量的設(shè)置,具體的設(shè)置
15、方法參考2.1.2 JDK的安裝與配置:</p><p> 第三章 系統(tǒng)需求分析及實現(xiàn)目標(biāo)</p><p><b> 3.1系統(tǒng)需求分析</b></p><p> 本次課程設(shè)計的題目是制作簡易的計算器,整個系統(tǒng)需要實現(xiàn)的功能是:簡單的加、減、乘、除功能,并且對可能出現(xiàn)的異常進行處理,還要輸出異常信息。在執(zhí)行計算功能時,要注意計算數(shù)據(jù)的范
16、圍,不能輸入超出范圍之內(nèi)的數(shù)據(jù),對于異常的輸入能夠有提示信息。</p><p> 我主要負(fù)責(zé)的是在沒有點擊等號按鈕之前,實現(xiàn)加減乘除的算法,并把算的結(jié)果在文本框中顯示出來。在實現(xiàn)除法運算的過程中,要注意除數(shù)不能為零的情況,在程序具體實現(xiàn)過程中用try語句撲捉異常,把除數(shù)為零的情況以異常類拋出,在后面用catch語句捕獲異常,然后在計算器文本框中輸出“除數(shù)不能為零!”的字幕。其他的算法主要是注意運算的范圍,不能輸
17、入太大或是太小的數(shù)據(jù),如果輸入的數(shù)據(jù)太大,運算的結(jié)果就不會以double型數(shù)據(jù)顯示。</p><p><b> 3.2系統(tǒng)實現(xiàn)目標(biāo)</b></p><p> 系統(tǒng)要實現(xiàn)的功能是簡單的加減乘除算法,并且要在遇到異常的情況下,把異常拋出。比如:除法運算中除數(shù)不能為零的情況,當(dāng)在運算的過程中如果除數(shù)為零,程序就會把除數(shù)為零的情況以異常類拋出,并且在文本框中顯示捕獲的異常
18、信息。還有運算的結(jié)果過大或是過小的情況。</p><p> 系統(tǒng)在實現(xiàn)除法運算時,如果輸入的除數(shù)為零會顯示如下信息:</p><p> 第四章 計算器系統(tǒng)設(shè)計</p><p> 本系統(tǒng)整體上說還是有一定的難度,其中用到了一個構(gòu)造函數(shù)、八個類、九個方法,包括一個主方法和八個事件監(jiān)聽類。在公共類中對面板、按鈕等容器或組件進行了申明和創(chuàng)建對象;在構(gòu)造函數(shù)Calcu
19、late()中只做了退出界面的設(shè)置和調(diào)用JbInit();在JbInit()方法中對每個按鈕或是面板進行了設(shè)置,設(shè)置它的大小、位置,還有對應(yīng)觸發(fā)的事件;還有其他的方法和類就是對加減乘除算法的實現(xiàn),以及面板中二十個按鈕所對應(yīng)的事件響應(yīng),和八個事件監(jiān)聽類。</p><p> 我主要做的是加減乘除算法的實現(xiàn),還要考慮到在計算的過程中可能出現(xiàn)的異常,在這里主要是對除法運算中除數(shù)不能為零的情況進行處理,我所用到的方法是用
20、try-catch語句把異常拋出并且進行異常類的處理,并把相關(guān)的異常信息輸出在計算器的文本框中。</p><p> 計算器系統(tǒng)中唯一的一個界面如下:</p><p> 在沒有用try-catch語句進行異常處理的時候,除法運算中除數(shù)為零的情況,運算得到的結(jié)果為:</p><p> 在用到try-catch語句進行異常處理的時候,除法運算中除數(shù)為零的情況,運算得
21、到的結(jié)果為:</p><p><b> 第五章 實現(xiàn)過程</b></p><p> 這里只列出了自己所做部分代碼:</p><p> public void btnEqual_actionPerformed(ActionEvent e) {</p><p> if(!flag3)//未曾按下等于運算符</
22、p><p> behind = txtResult.getText();//返回此文本組件表示的文本。</p><p><b> else</b></p><p> front = re; //re用于存儲運算結(jié)果的字符串格式</p><p> try {
23、 //front - 要解析的字符串。</p><p> double a1 = Double.parseDouble(front);//Double 類在對象中包裝一個基本類型 double的值。每個 Double 類型的對象都包含一個 double 類型的字段。</p><p> double b1 = Double.parseDouble(behind);//
24、parseDouble:返回一個新的 double 值,該值被初始化為用指定 String 表示的值</p><p> if (op == "+") { //返回:由字符串參數(shù)表示的 double 值。 </p><p> result = a1 + b1; //result用于存儲運算結(jié)果</p><p
25、> } else if (op == "-") //op用于記錄運算符</p><p> { result = a1 - b1; } </p><p> else if (op == "*") </p><p> { result = a1 * b1; } </p><p> else
26、 { result = a1 / b1;</p><p><b> if(b1==0)</b></p><p> {throw new ArithmeticException("除數(shù)不能為零!");}</p><p> }re = Double.toString(result);//toString:返回此 Doubl
27、e對象的字符串表示形式。</p><p> txtResult.setText(re);//將此文本組件顯示的文本設(shè)置為指定文本。 //re - 新文本;如果此參數(shù)為 null,則將文本設(shè)置為空字符串 ""</p><p> }catch (ArithmeticException ce) </p><p> { t
28、xtResult.setText(ce.getMessage());</p><p> } if (!flag3)</p><p> flag3 = true;//確認(rèn)已經(jīng)按下等號</p><p> } public void btnPoint_actionPerformed(ActionEvent e) {</p><p>
29、 int num=txtResult.getText().indexOf(".");//返回索引在這個字符串的第一個發(fā)生指定子串。</p><p> if(num<0 && !flag)//flag用于記錄是否按下了運算符 txtResult.setText(txtResult.getText()+e.getActionCommand());</
30、p><p> //getActionCommand:返回此按鈕激發(fā)的動作事件的命令名稱。如果命令名稱為 null(默認(rèn)),則此方法返回按鈕的標(biāo)簽。 </p><p><b> if(flag)</b></p><p> flag1=true;//flag1用于判斷是否輸入了點運算符</p><p><b>
31、 }</b></p><p> 具體的實現(xiàn)方法如以下流程圖:</p><p> 程序中點號的實現(xiàn)代碼:</p><p> public void btnPoint_actionPerformed(ActionEvent e) </p><p><b> {</b></p><p&g
32、t; int num=txtResult.getText().indexOf(".");//返回索引在這個字符串的第一個發(fā)生指定子串。</p><p> if(num<0 && !flag)//flag用于記錄是否按下了運算符 txtResult.setText(txtResult.getText()+e.getActionCommand());//g
33、etActionCommand:返回此按鈕激發(fā)的動作事件的命令名稱。如果命令名稱為 null(默認(rèn)),則此方法返回按鈕的標(biāo)簽。 </p><p><b> if(flag)</b></p><p> flag1=true;//flag1用于判斷是否輸入了點運算符</p><p><b> }</b></p>
34、;<p><b> 第六章 總結(jié)</b></p><p> 在答辯中老師的提問:</p><p> 問:在點擊按鈕之后,怎樣讓程序知道這個事件?代碼中是如何實現(xiàn)的?</p><p> 答:在點擊按鈕之后,主要是利用事件監(jiān)聽,對按鈕設(shè)置,監(jiān)聽按鈕的動作,然后在用具體的方法體去實現(xiàn)此按鈕的具體功能。課程設(shè)計中總共用到了七個事
35、件監(jiān)聽類,九個方法體。</p><p> 在本次的課程設(shè)計中,主要用到以下的方法和事件監(jiān)聽類:</p><p> class Calculate_btnCancel_actionAdapter implements ActionListener </p><p> //實現(xiàn)“←”號功能的監(jiān)聽</p><p> class Calcul
36、ate_btnMinus_actionAdapter implements ActionListener </p><p> //實現(xiàn)“+/-”號功能的監(jiān)聽</p><p> class Calculate_btnBegin_actionAdapter implements ActionListener </p><p> //實現(xiàn)“C”號功能的監(jiān)聽</
37、p><p> class Calculate_btnPoint_actionAdapter implements ActionListener </p><p> //實現(xiàn)點號功能的監(jiān)聽</p><p> class Calculate_btnEqual_actionAdapter implements ActionListener </p><
38、;p> //實現(xiàn)等號功能的監(jiān)聽</p><p> class Calculate_btnIncrease_actionAdapter implements ActionListener </p><p> //實現(xiàn)加、減、乘、除功能的監(jiān)聽</p><p> class Calculate_btnZero_actionAdapter implements
39、 ActionListener </p><p> //實現(xiàn)數(shù)字0-9功能的監(jiān)聽</p><p> 具體功能的實現(xiàn)方法體如下:</p><p> 無參構(gòu)造函數(shù):public Calculate()</p><p> 主方法:public static void main(String[] args)</p><p&
40、gt; 其他實現(xiàn)功能的方法:</p><p> private void jbInit() throws Exception</p><p> public void btnZero_actionPerformed(ActionEvent e)</p><p> public void btnIncrease_actionPerformed(ActionEv
41、ent e)</p><p> public void btnEqual_actionPerformed(ActionEvent e)</p><p> public void btnPoint_actionPerformed(ActionEvent e)</p><p> public void btnBegin_actionPerformed(Action
42、Event e)</p><p> public void btnMinus_actionPerformed(ActionEvent e)</p><p> public void btnCancel_actionPerformed(ActionEvent e)</p><p><b> 課程設(shè)計總結(jié):</b></p>&l
43、t;p> 通過兩周的實訓(xùn)明白了,書本中都是一些非?;A(chǔ)的知識,如果想要把一個實訓(xùn)項目做好就必須自學(xué)其他的知識點,參考一些書籍或是在網(wǎng)上查閱一些資料,就算是這樣我們?nèi)匀徊荒芎芡昝赖膶崿F(xiàn)所有的功能,我們也是會學(xué)到很多的,然后這就要我們在以后的學(xué)習(xí)中完善自己,多積累編程經(jīng)驗。</p><p> 還有實訓(xùn)讓我明白了團隊的重要性,如果你遇到了一個問題,一個人思考永遠(yuǎn)都比不上幾個人思考的快,就算是問題很難,但是在一
44、個團隊中幾個人一起討論,問題就會很快解決。團隊也讓我們活躍了很多,沒有像人們想的那樣,編程有多枯燥無味,不會讓我們對編程產(chǎn)生反感。團隊之間相互交流還可以促進進步,有可能你不知道的知識點其他人知道,這樣不用看課本就可以把知識記得很牢。</p><p> 在我們拿到一個題目的時候不要以為這個題目會很難,任何問題都是有解決辦法的,我們要把問題細(xì)化,分成不同的模塊逐步求解,這樣就算是再難的問題我們都有辦法解決。<
45、/p><p><b> 參考文獻</b></p><p> Java程序設(shè)計項目教程 中國人民大學(xué)出版社</p><p> Java程序設(shè)計案例教程 西北工業(yè)大學(xué)出版社</p><p> Java語言程序設(shè)計 中國鐵道出版社</p><p><b> 網(wǎng)上
46、搜索的相關(guān)資料</b></p><p><b> 致 謝</b></p><p> 能夠完成本次的課程設(shè)計,要感謝老師在課程設(shè)計中的指導(dǎo)。我們在平時的課堂上學(xué)到的知識點都是一些基礎(chǔ),沒有做過什么實際的項目,知識點都不能形成系統(tǒng)。通過本次的課程設(shè)計讓我們加強了個知識點之間的聯(lián)系,更能在實際中加以利用。</p><p> 俗話
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計-計算器系統(tǒng)
- java課程設(shè)計---java計算器
- 計算器java課程設(shè)計--簡單計算器
- java課程設(shè)計---計算器
- java課程設(shè)計—計算器
- java課程設(shè)計計算器
- java計算器課程設(shè)計
- java課程設(shè)計--計算器
- java課程設(shè)計計算器
- java_計算器課程設(shè)計
- java課程設(shè)計---科學(xué)計算器
- java課程設(shè)計報告—計算器
- java課程設(shè)計----簡易計算器
- java實現(xiàn)計算器課程設(shè)計
- java計算器課程設(shè)計報告
- java計算器課程設(shè)計報告---模擬科學(xué)計算器
- java計算器課程設(shè)計---計算器模擬程序
- java課程設(shè)計報告--計算器設(shè)計
- java計算器課程設(shè)計-- 計算器的設(shè)計與實現(xiàn)
- java課程設(shè)計模擬科學(xué)計算器
評論
0/150
提交評論