java課程設(shè)計-計算器系統(tǒng)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論