




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 javajava 程序設(shè)計(jì)程序設(shè)計(jì) 課程設(shè)計(jì)(論文)說(shuō)明書(shū)課程設(shè)計(jì)(論文)說(shuō)明書(shū) 題目: 簡(jiǎn) 易 計(jì) 算 器 摘摘 要要 在人們的日常生活中,計(jì)算器系統(tǒng)是很常見(jiàn)的。本次的課程設(shè)計(jì)就是研究這 類的問(wèn)題,利用 java 語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的加、減、乘、除運(yùn)算,還要對(duì)在運(yùn)算過(guò)程 中可能出現(xiàn)的問(wèn)題進(jìn)行處理,在本程序中,利用 try、catch 語(yǔ)句來(lái)實(shí)現(xiàn)對(duì)可能 出現(xiàn)的異常進(jìn)行捕獲、處理。在課程設(shè)計(jì)中,系統(tǒng)開(kāi)發(fā)平臺(tái)為 windows 7,程序 設(shè)計(jì)設(shè)計(jì)語(yǔ)言采用 java,程序運(yùn)行平臺(tái)為 windows 7,程序開(kāi)發(fā)工具為 eclipse,其 中還要用到 jdk 的配置等。計(jì)算器要實(shí)現(xiàn)簡(jiǎn)單的加、減、乘、除運(yùn)算
2、,其中在除 法運(yùn)算中對(duì)除數(shù)不能為零的情況做簡(jiǎn)單的處理,把問(wèn)題拋出,并在計(jì)算器的文本 框中輸出相應(yīng)的 “除數(shù)不能為零!” 信息。 在本次課程設(shè)計(jì)中,將重點(diǎn)學(xué)習(xí) gui 的設(shè)計(jì)。在 gui 的設(shè)計(jì)中,學(xué)習(xí)容器、 組件的相關(guān)知識(shí),并且對(duì)其中的組件設(shè)置事件監(jiān)聽(tīng),然后處理監(jiān)聽(tīng)到的事件。整 個(gè)系統(tǒng)有一個(gè)無(wú)參構(gòu)造函數(shù);九個(gè)方法,其中包括一個(gè)主方法;八個(gè)類,其中包 括七個(gè)事件監(jiān)聽(tīng)類。 關(guān)鍵詞:關(guān)鍵詞:java 程序設(shè)計(jì)、eclipse 的安裝配置、jdk 的安裝配置、系統(tǒng)變量、 try-catch 語(yǔ)句、gui 圖形用戶界面、主方法、容器、組件、無(wú)參構(gòu)造函數(shù)、事 件監(jiān)聽(tīng)類 目目 錄錄 第一章第一章 前前 言言
3、.4 4 1.1 工作基礎(chǔ)及應(yīng)用環(huán)境.4 1.2 研究意義.4 第二章第二章 開(kāi)發(fā)環(huán)境的集成開(kāi)發(fā)環(huán)境的集成.4 4 2.1 eclipse 及 jdk 的安裝配置.4 2.1.1 eclipse 的安裝配置 .4 2.1.2 jdk 的安裝配置 .5 第三章第三章 系統(tǒng)需求分析及實(shí)現(xiàn)目標(biāo)系統(tǒng)需求分析及實(shí)現(xiàn)目標(biāo).6 6 3.1 系統(tǒng)需求分析.6 3.2 系統(tǒng)實(shí)現(xiàn)目標(biāo).7 第四章第四章 計(jì)算器系統(tǒng)設(shè)計(jì)計(jì)算器系統(tǒng)設(shè)計(jì).7 7 第五章第五章 實(shí)現(xiàn)過(guò)程實(shí)現(xiàn)過(guò)程.1010 第六章第六章 總結(jié)總結(jié).1212 參考文獻(xiàn)參考文獻(xiàn).1313 致致 謝謝.1313 第一章第一章 前前 言言 1.1 工作基礎(chǔ)及應(yīng)用環(huán)
4、境工作基礎(chǔ)及應(yīng)用環(huán)境 經(jīng)過(guò)一學(xué)期的 java 學(xué)習(xí),對(duì) java 的基本知識(shí)有了一定的了解,對(duì)各方面的 知識(shí)形成了一定的系統(tǒng),在這樣的基礎(chǔ)下進(jìn)行 java 課程設(shè)計(jì),加強(qiáng)這一學(xué)期所 學(xué)的知識(shí)點(diǎn),鞏固系統(tǒng)知識(shí),并在實(shí)際應(yīng)用中靈活的應(yīng)用。 應(yīng)用環(huán)境是:在 windows 的操作系統(tǒng)中都可以應(yīng)用此軟件。 1.2 研究意義研究意義 通過(guò)實(shí)訓(xùn)把知識(shí)形成系統(tǒng),把自己所學(xué)的知識(shí)在實(shí)際問(wèn)題中加以運(yùn)用。如果 自己編寫(xiě)的程序能夠給更多的人帶來(lái)方便,并且得到人們的好評(píng),那么自己編寫(xiě) 的程序就可以實(shí)現(xiàn)商品化,形成產(chǎn)品給更多的人利用,并實(shí)現(xiàn)一定的商品價(jià)值。 1.3 進(jìn)度安排及分組情況 進(jìn)度安排:利用第十六周一周的時(shí)間,
5、把計(jì)算器程序的代碼編寫(xiě)出來(lái),并且 能夠運(yùn)行,實(shí)現(xiàn)預(yù)期所想要的結(jié)果;第十七周的時(shí)間主要是書(shū)寫(xiě)實(shí)訓(xùn)報(bào)告,中間 穿插軟件測(cè)試的內(nèi)容,把軟件的功能完善;在第十七周的最后一次課之前進(jìn)行答 辯,完成本次的課程設(shè)計(jì)實(shí)訓(xùn)。 第二章第二章 開(kāi)發(fā)環(huán)境的集成開(kāi)發(fā)環(huán)境的集成 2.1 eclipse 及及 jdk 的安裝配置的安裝配置 2.1.1 eclipse 的安裝配置的安裝配置 java 開(kāi)發(fā)工具有很多,比如:eclipse 3.7、netbeans 7.0、myeclipse,其中 myeclipse 就是 eclipse 集成了很多插件,此軟件工具是要收費(fèi)的。我所用的 java 開(kāi)發(fā)工具是 eclipse,此
6、軟件是設(shè)計(jì)好的軟件,不需要安裝就可以使用。 2.1.2 jdk 的安裝配置的安裝配置 jdk 環(huán)境變量的配置方法有兩種,具體配置方法如下: 一、jdk 環(huán)境變量的配置: 1、新建系統(tǒng)變量:java_home,其變量值為:c:javajdk1.6.0_10。 2、編輯系統(tǒng)變量:path,在其變量值文本框末端添加字符串: ;%java_home%bin;。 3、新建用戶變量:classpath,其變量值為: .;c:javajdk1.6.0_10libtools.jar;。 二、jdk 環(huán)境變量的配置: 1、新建系統(tǒng)變量:java_home,其變量值為:c:javajdk1.6.0_10。 2、編
7、輯系統(tǒng)變量:path,在其變量值文本框末端添加字符串: ;%java_home%bin;。 3、新建系統(tǒng)變量:classpath,其變量值為: .;%java_home%libdt.jar;%java_home%libtools.jar。 下面以 window 7 操作系統(tǒng)具體介紹 jdk 的配置方法: 1、打開(kāi)系統(tǒng)屬性對(duì)話框,然后點(diǎn)擊下面的環(huán)境變量按鈕: 2、在打開(kāi)的環(huán)境變量對(duì)話框中,進(jìn)行 jdk 環(huán)境變量的設(shè)置,具體的設(shè)置方 法參考 2.1.2 jdk 的安裝與配置: 第三章第三章 系統(tǒng)需求分析及實(shí)現(xiàn)目標(biāo)系統(tǒng)需求分析及實(shí)現(xiàn)目標(biāo) 3.1 系統(tǒng)需求分析系統(tǒng)需求分析 本次課程設(shè)計(jì)的題目是制作簡(jiǎn)易
8、的計(jì)算器,整個(gè)系統(tǒng)需要實(shí)現(xiàn)的功能是:簡(jiǎn) 單的加、減、乘、除功能,并且對(duì)可能出現(xiàn)的異常進(jìn)行處理,還要輸出異常信息。 在執(zhí)行計(jì)算功能時(shí),要注意計(jì)算數(shù)據(jù)的范圍,不能輸入超出范圍之內(nèi)的數(shù)據(jù),對(duì) 于異常的輸入能夠有提示信息。 我主要負(fù)責(zé)的是在沒(méi)有點(diǎn)擊等號(hào)按鈕之前,實(shí)現(xiàn)加減乘除的算法,并把算的 結(jié)果在文本框中顯示出來(lái)。在實(shí)現(xiàn)除法運(yùn)算的過(guò)程中,要注意除數(shù)不能為零的情 況,在程序具體實(shí)現(xiàn)過(guò)程中用 try 語(yǔ)句撲捉異常,把除數(shù)為零的情況以異常類拋 出,在后面用 catch 語(yǔ)句捕獲異常,然后在計(jì)算器文本框中輸出“除數(shù)不能為零! ”的字幕。其他的算法主要是注意運(yùn)算的范圍,不能輸入太大或是太小的數(shù)據(jù), 如果輸入的數(shù)
9、據(jù)太大,運(yùn)算的結(jié)果就不會(huì)以 double 型數(shù)據(jù)顯示。 3.2 系統(tǒng)實(shí)現(xiàn)目標(biāo)系統(tǒng)實(shí)現(xiàn)目標(biāo) 系統(tǒng)要實(shí)現(xiàn)的功能是簡(jiǎn)單的加減乘除算法,并且要在遇到異常的情況下,把 異常拋出。比如:除法運(yùn)算中除數(shù)不能為零的情況,當(dāng)在運(yùn)算的過(guò)程中如果除數(shù) 為零,程序就會(huì)把除數(shù)為零的情況以異常類拋出,并且在文本框中顯示捕獲的異 常信息。還有運(yùn)算的結(jié)果過(guò)大或是過(guò)小的情況。 系統(tǒng)在實(shí)現(xiàn)除法運(yùn)算時(shí),如果輸入的除數(shù)為零會(huì)顯示如下信息: 第四章第四章 計(jì)算器系統(tǒng)設(shè)計(jì)計(jì)算器系統(tǒng)設(shè)計(jì) 本系統(tǒng)整體上說(shuō)還是有一定的難度,其中用到了一個(gè)構(gòu)造函數(shù)、八個(gè)類、九 個(gè)方法,包括一個(gè)主方法和八個(gè)事件監(jiān)聽(tīng)類。在公共類中對(duì)面板、按鈕等容器或 組件進(jìn)行了申
10、明和創(chuàng)建對(duì)象;在構(gòu)造函數(shù) calculate()中只做了退出界面的設(shè)置和 調(diào)用 jbinit();在 jbinit()方法中對(duì)每個(gè)按鈕或是面板進(jìn)行了設(shè)置,設(shè)置它的大小、 位置,還有對(duì)應(yīng)觸發(fā)的事件;還有其他的方法和類就是對(duì)加減乘除算法的實(shí)現(xiàn), 以及面板中二十個(gè)按鈕所對(duì)應(yīng)的事件響應(yīng),和八個(gè)事件監(jiān)聽(tīng)類。 我主要做的是加減乘除算法的實(shí)現(xiàn),還要考慮到在計(jì)算的過(guò)程中可能出現(xiàn)的 異常,在這里主要是對(duì)除法運(yùn)算中除數(shù)不能為零的情況進(jìn)行處理,我所用到的方 法是用 try-catch 語(yǔ)句把異常拋出并且進(jìn)行異常類的處理,并把相關(guān)的異常信息輸 出在計(jì)算器的文本框中。 計(jì)算器系統(tǒng)中唯一的一個(gè)界面如下: 在沒(méi)有用 try
11、-catch 語(yǔ)句進(jìn)行異常處理的時(shí)候,除法運(yùn)算中除數(shù)為零的情況, 運(yùn)算得到的結(jié)果為: 在用到 try-catch 語(yǔ)句進(jìn)行異常處理的時(shí)候,除法運(yùn)算中除數(shù)為零的情況, 運(yùn)算得到的結(jié)果為: 第五章第五章 實(shí)現(xiàn)過(guò)程實(shí)現(xiàn)過(guò)程 這里只列出了自己所做部分代碼: public void btnequal_actionperformed(actionevent e) if(!flag3)/未曾按下等于運(yùn)算符 behind = txtresult.gettext();/返回此文本組件表示的文本。 else front = re; /re用于存儲(chǔ)運(yùn)算結(jié)果的字符串格式 try /front - 要解析的字符串。 d
12、ouble a1 = double.parsedouble(front);/double 類在對(duì)象中包裝一個(gè)基本類型 double的值。每個(gè) double 類型的對(duì)象都包含一個(gè) double 類型的字段。 double b1 = double.parsedouble(behind);/parsedouble:返回一個(gè)新的 double 值, 該值被初始化為用指定 string 表示的值 if (op = +) /返回:由字符串參數(shù)表示的 double 值。 result = a1 + b1; /result用于存儲(chǔ)運(yùn)算結(jié)果 else if (op = -) /op用于記錄運(yùn)算符 result
13、= a1 - b1; else if (op = *) result = a1 * b1; else result = a1 / b1; if(b1=0) throw new arithmeticexception(除數(shù)不能為零!); re = double.tostring(result);/tostring:返回此 double對(duì)象的字符串表示形式。 txtresult.settext(re);/將此文本組件顯示的文本設(shè)置為指定文本。 /re - 新文本;如果此參數(shù)為 null,則將文本設(shè)置為空字符串 catch (arithmeticexception ce) txtresult.set
14、text(ce.getmessage(); if (!flag3) flag3 = true;/確認(rèn)已經(jīng)按下等號(hào) public void btnpoint_actionperformed(actionevent e) int num=txtresult.gettext().indexof(.);/返回索引在這個(gè)字符串的第一個(gè)發(fā)生指定子 串。 if(num0 /getactioncommand:返回此按鈕激發(fā)的動(dòng)作事件的命令名稱。如果命令名稱為 null(默認(rèn)), 則此方法返回按鈕的標(biāo)簽。 if(flag) flag1=true;/flag1用于判斷是否輸入了點(diǎn)運(yùn)算符 具體的實(shí)現(xiàn)方法如以下流程圖
15、: 程序中點(diǎn)號(hào)的實(shí)現(xiàn)代碼: public void btnpoint_actionperformed(actionevent e) int num=txtresult.gettext().indexof(.);/返回索引在這個(gè)字符串的第一個(gè)發(fā)生指定子 串。 if(num0 /getactioncomman d:返回此按鈕激發(fā)的動(dòng)作事件的命令名稱。如果命令名稱為 null(默認(rèn)),則此方法返回按鈕 的標(biāo)簽。 if(flag) flag1=true;/flag1用于判斷是否輸入了點(diǎn)運(yùn)算符 第六章第六章 總結(jié)總結(jié) 在答辯中老師的提問(wèn):在答辯中老師的提問(wèn): 問(wèn):在點(diǎn)擊按鈕之后,怎樣讓程序知道這個(gè)事件?
16、代碼中是如何實(shí)現(xiàn)的? 答:在點(diǎn)擊按鈕之后,主要是利用事件監(jiān)聽(tīng),對(duì)按鈕設(shè)置,監(jiān)聽(tīng)按鈕的動(dòng)作, 然后在用具體的方法體去實(shí)現(xiàn)此按鈕的具體功能。課程設(shè)計(jì)中總共用到了七個(gè)事 件監(jiān)聽(tīng)類,九個(gè)方法體。 在本次的課程設(shè)計(jì)中,主要用到以下的方法和事件監(jiān)聽(tīng)類: class calculate_btncancel_actionadapter implements actionlistener /實(shí)現(xiàn)“”號(hào)功能的監(jiān)聽(tīng) class calculate_btnminus_actionadapter implements actionlistener /實(shí)現(xiàn)“+/-”號(hào)功能的監(jiān)聽(tīng) class calculate_btnbe
17、gin_actionadapter implements actionlistener /實(shí)現(xiàn)“c”號(hào)功能的監(jiān)聽(tīng) class calculate_btnpoint_actionadapter implements actionlistener /實(shí)現(xiàn)點(diǎn)號(hào)功能的監(jiān)聽(tīng) class calculate_btnequal_actionadapter implements actionlistener /實(shí)現(xiàn)等號(hào)功能的監(jiān)聽(tīng) class calculate_btnincrease_actionadapter implements actionlistener /實(shí)現(xiàn)加、減、乘、除功能的監(jiān)聽(tīng) class c
18、alculate_btnzero_actionadapter implements actionlistener /實(shí)現(xiàn)數(shù)字 0-9 功能的監(jiān)聽(tīng) 具體功能的實(shí)現(xiàn)方法體如下: 無(wú)參構(gòu)造函數(shù):public calculate() 主方法:public static void main(string args) 其他實(shí)現(xiàn)功能的方法: private void jbinit() throws exception public void btnzero_actionperformed(actionevent e) public void btnincrease_actionperformed(actio
19、nevent e) public void btnequal_actionperformed(actionevent e) public void btnpoint_actionperformed(actionevent e) public void btnbegin_actionperformed(actionevent e) public void btnminus_actionperformed(actionevent e) public void btncancel_actionperformed(actionevent e) 課程設(shè)計(jì)總結(jié):課程設(shè)計(jì)總結(jié): 通過(guò)兩周的實(shí)訓(xùn)明白了,書(shū)本中都是一些非?;A(chǔ)的知識(shí),如果想要把一個(gè) 實(shí)訓(xùn)項(xiàng)目做好
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中生社會(huì)實(shí)踐能力的多元化發(fā)展與評(píng)價(jià)考核試卷
- 保健食品營(yíng)養(yǎng)需求分析與滿足策略實(shí)施效果考核試卷
- 合成氣制合成油考核試卷
- 國(guó)際貿(mào)易信用證條款解析與應(yīng)用考核試卷
- 網(wǎng)購(gòu)家具合同范本
- 簡(jiǎn)單的工傷合同范本
- 賣(mài)車(chē)簡(jiǎn)單合同范本
- 農(nóng)業(yè)訂單合同范本
- 電視購(gòu)物產(chǎn)品退換政策協(xié)議
- 瑜伽培訓(xùn)合同協(xié)議書(shū)
- 2023年包頭市水務(wù)(集團(tuán))有限公司招聘筆試題庫(kù)及答案解析
- 云南省專業(yè)技術(shù)職務(wù)任職資格推薦評(píng)審表(空白表)
- 施工機(jī)具進(jìn)場(chǎng)檢查驗(yàn)收記錄
- HSK標(biāo)準(zhǔn)教程4上第1課課件
- 初中化學(xué)方程式匯總(魯教版)
- 企業(yè)組織架構(gòu)表
- 中國(guó)監(jiān)察制度史
- 民俗學(xué)概論 第一章 概述課件
- 科雷氏骨折史密斯氏骨折培訓(xùn)課件
- 衛(wèi)生院基本藥物采購(gòu)供應(yīng)管理制度
- 重慶市渝北區(qū)大灣鎮(zhèn)招錄村綜合服務(wù)專干(全考點(diǎn))模擬卷
評(píng)論
0/150
提交評(píng)論