java課程設(shè)計(jì)--計(jì)算器.doc_第1頁(yè)
java課程設(shè)計(jì)--計(jì)算器.doc_第2頁(yè)
java課程設(shè)計(jì)--計(jì)算器.doc_第3頁(yè)
java課程設(shè)計(jì)--計(jì)算器.doc_第4頁(yè)
java課程設(shè)計(jì)--計(jì)算器.doc_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java 程程序序設(shè)設(shè)計(jì)計(jì) 課課程程設(shè)設(shè)計(jì)計(jì)報(bào)報(bào)告告 ( 2011 - 2012 年度第年度第 1 學(xué)期學(xué)期) 計(jì)算器計(jì)算器 專(zhuān)業(yè)專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)(網(wǎng)絡(luò)工程)計(jì)算機(jī)科學(xué)與技術(shù)(網(wǎng)絡(luò)工程) 學(xué)生姓名學(xué)生姓名趙寶文趙寶文 班級(jí)班級(jí)B 計(jì)算機(jī)計(jì)算機(jī) 102 學(xué)號(hào)學(xué)號(hào)1010704227 指導(dǎo)教師指導(dǎo)教師徐徐 森森 完成日期完成日期2012 年年 1 月月 8 日日 計(jì)算器 目目 錄錄 目 錄2 1 概 述1 1.1 課程設(shè)計(jì)目的1 1.2 課程設(shè)計(jì)內(nèi)容1 2 系統(tǒng)需求分析1 2.1 系統(tǒng)目標(biāo)1 2.2 主體功能1 2.3 開(kāi)發(fā)環(huán)境1 3 系統(tǒng)概要設(shè)計(jì)1 3.1 系統(tǒng)的功能模塊劃分1 3.2 系統(tǒng)流程圖2 4 系統(tǒng)詳細(xì)設(shè)計(jì).2 4.1 COMPUTERPAD(主類(lèi)) 2 4.2 NUMBERBUTTON2 4.3 OPERATIONBUTTON3 5 測(cè)試3 5.1 測(cè)試方案3 5.2 測(cè)試結(jié)果4 6 小結(jié)4 參考文獻(xiàn)5 附 錄6 附錄 源程序清單6 附錄 源程序清單14 附錄 源程序清單14 Java 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2011) 1 題目題目 1 概 述 1.1 課程設(shè)計(jì)目的 1.熟悉 Java 的運(yùn)行環(huán)境及其使用; 2.掌握 Java 圖形界面的使用; 3.加強(qiáng) Java 程序的分析能力; 4.加強(qiáng)使用 Java 知識(shí)解決實(shí)際問(wèn)題的能力。 1.2 課程設(shè)計(jì)內(nèi)容 設(shè)計(jì) GUI 界面的計(jì)算器程序,用戶(hù)可以通過(guò)鼠標(biāo)依次輸入?yún)⒓佑?jì)算的數(shù)值, 進(jìn)行加、減、乘、除等混合運(yùn)算。 2 系統(tǒng)需求分析 2.1 系統(tǒng)目標(biāo) 要求所設(shè)計(jì)的 GUI 界面計(jì)算器是一個(gè)使用很方便的程序,能進(jìn)行加、減、乘、 除等混合運(yùn)算。 2.2 主體功能 用戶(hù)可以通過(guò)鼠標(biāo)依次輸入?yún)⒓佑?jì)算的數(shù)值,進(jìn)行加、減、乘、除等混合運(yùn)算。 2.3 開(kāi)發(fā)環(huán)境 Eclipse 集成開(kāi)發(fā)環(huán)境 3 系統(tǒng)概要設(shè)計(jì) 3.1 系統(tǒng)的功能模塊劃分 本計(jì)算機(jī)文件共有 3 個(gè) java 源文件。 類(lèi)之間的主要關(guān)系如下圖所示 ComputerPad(主類(lèi)主類(lèi)) NumberButtonOperationButton ComputerPad.java 該 java 源文件生成的類(lèi)負(fù)責(zé)創(chuàng)建計(jì)算器的“主窗口” 。該類(lèi)含有 main 方法, 整個(gè)程序從該類(lèi)開(kāi)始執(zhí)行。 計(jì)算器 2 NumberButton.java 該文件生成的類(lèi)負(fù)責(zé)為主類(lèi)創(chuàng)建數(shù)字按鈕對(duì)象,使用鼠標(biāo)單擊數(shù)字按鈕可依 次輸入?yún)⒓舆\(yùn)算的數(shù)值的各位數(shù)字。 OperationButton.java 該文件生成的類(lèi)負(fù)責(zé)為主類(lèi)創(chuàng)建運(yùn)算符號(hào)按鈕對(duì)象。使用鼠標(biāo)單擊運(yùn)算符號(hào) 按鈕可選擇所要進(jìn)行的運(yùn)算。 Java 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2011) 3 3.2 系統(tǒng)流程圖 開(kāi)始 初始化變量 按鍵選項(xiàng)。 是否為 0。 當(dāng)前是否有 運(yùn)算符。 當(dāng)前是否有 運(yùn)算符。 退格當(dāng)前編輯 的數(shù)據(jù)。 初始化所有 變量。 計(jì)算當(dāng)前運(yùn)算 符,并顯示。 顯示當(dāng)前編輯 的數(shù)據(jù)。 計(jì)算當(dāng)前運(yùn)算 符,并顯示。 根據(jù)當(dāng)前運(yùn)算 符計(jì)算結(jié)果。 當(dāng)前編輯 數(shù)據(jù)是否 為 0。 當(dāng)前編輯 數(shù)據(jù)是否 為 0。 當(dāng)前編輯的數(shù) 字后加 0 繼續(xù)? 當(dāng)前數(shù)據(jù)后 加一位。 當(dāng)前數(shù)據(jù)用鍵 值代替 數(shù)字鍵 運(yùn)算符鍵 符號(hào)鍵 清 除 鍵 退 格 鍵 是 否 是 否 是 否 是 否 是 否 是 結(jié)束 否 計(jì)算器 4 4 系統(tǒng)詳細(xì)設(shè)計(jì) 4.1 ComputerPad(主類(lèi)) 成員變量 成員變量描述變量類(lèi)型名稱(chēng) 數(shù)字按鈕數(shù)組NumberButtonnumberButton 運(yùn)算符號(hào)按鈕數(shù)組OperationButtonoperationButton 小數(shù)點(diǎn)按鈕Button小數(shù)點(diǎn)按鈕 正負(fù)號(hào)按鈕Button正負(fù)號(hào)按鈕 退格按鈕Button退格按鈕 求倒數(shù)按鈕Button求倒數(shù)按鈕 等號(hào)按鈕Button等號(hào)按鈕 清零按鈕Button清零按鈕 顯示計(jì)算結(jié)果JTextFieldresultShow 存儲(chǔ)數(shù)據(jù)的鏈表LinkedList鏈表 方法 名稱(chēng)功能備注 ComputerPad創(chuàng)建窗口構(gòu)造方法 ActionPerformed處理 ActionEvent 事件接口方法 Main程序運(yùn)行入口 代碼 見(jiàn)附錄。 4.2 NumberButton 成員變量 成員變量描述變量類(lèi)型名稱(chēng) 按鈕代表的數(shù)字Intnumber 方法 名稱(chēng)功能備注 NumberButton創(chuàng)建數(shù)字按鈕構(gòu)造方法 getNumber獲取按鈕代表的數(shù)字 代碼 見(jiàn)附錄。 Java 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2011) 5 4.3 OperationButton 成員變量 成員變量描述變量類(lèi)型名稱(chēng) 按鈕代表的數(shù)字StringOperator 方法 名稱(chēng)功能備注 OperationButton創(chuàng)建符號(hào)按鈕構(gòu)造方法 getOperator獲取按鈕代表的符號(hào) 代碼 見(jiàn)附錄。 5 測(cè)試 5.1 測(cè)試方案 圖 5-1 5.1.1 加法測(cè)試:1+2=? 圖 5-1-1 計(jì)算器 6 5.1.2 乘法測(cè)試:2*3=? 圖 5-1-2 5.2 測(cè)試結(jié)果 加法測(cè)試結(jié)果:1+2= 圖 5-2-1 乘法測(cè)試結(jié)果:2*3= 圖 5-2-2 6 小結(jié) 本文利用 Java 語(yǔ)言編寫(xiě)了一個(gè)計(jì)算器程序,其中涉及到很多的基礎(chǔ)內(nèi)容,如 類(lèi)、構(gòu)造方法、繼承、接口、GUI 等。通過(guò)對(duì)這些內(nèi)容的綜合運(yùn)用,加深了對(duì) Java 的理解,為進(jìn)一步學(xué)習(xí)打下基礎(chǔ)。 Java 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2011) 7 參考文獻(xiàn)參考文獻(xiàn) 1耿祥義,張躍平. Java2 實(shí)用教程(第三版)M . 北京:清華大學(xué)出版社, 2006 2耿祥義. Java 課程設(shè)計(jì)(第三版)M . 北京:清華大學(xué)出版社, 2004 3張躍平.Java2 實(shí)用教程實(shí)驗(yàn)指導(dǎo)與習(xí)題解答(第三版)M. 北京:清華大學(xué)出 版社, 2004 4Jacquie Barker,Java 面向?qū)ο缶幊讨改?,電子工業(yè)出版社,2001 計(jì)算器 8 附附 錄錄 附錄 源程序清單 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import java.util.LinkedList; public class ComputerPad extends Frame implements ActionListener NumberButton numberButton;/數(shù)字按鈕數(shù)組。 OperationButton operationButton;/運(yùn)算符號(hào)按鈕數(shù)組。 Button 小數(shù)點(diǎn)按鈕,正負(fù)號(hào)按鈕,退格按鈕,求倒數(shù)按鈕,等號(hào)按鈕,清零按鈕; Panel panel;/添加各種按鈕的面板。 JTextField resultShow;/顯示計(jì)算結(jié)果的文本條。 String 運(yùn)算符號(hào)=“+“,“-“,“*“,“/“; LinkedList 鏈表;/負(fù)責(zé)存儲(chǔ)數(shù)據(jù)的鏈表。 boolean 是否按下等號(hào)=false; public ComputerPad() super(“計(jì)算器“); 鏈表=new LinkedList(); numberButton=new NumberButton10;/共有 10 個(gè)數(shù)字按鈕。 for(int i=0;i=1) num=num.substring(0, num.length()-1); 鏈表.set(0, num); resultShow.setText(num); else 鏈表.removeLast(); resultShow.setText(“0“); else if(鏈表.size()=3) String num=(String)鏈表.getLast(); if(num.length()=1) num=num.substring(0, num.length()-1); 鏈表.set(2, num); resultShow.setText(num); else 鏈表.removeLast(); resultShow.setText(“0“); else if(e.getSource()=正負(fù)號(hào)按鈕) if(鏈表.size()=1) String number1=(String)鏈表.getFirst(); try double d=Double.parseDouble(number1); d=-1*d; String str=String.valueOf(d); 鏈表.set(0, str); resultShow.setText(str); catch(Exception ee) Java 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2011) 15 else if(鏈表.size()=3) String number2=(String)鏈表.getFirst(); try double d=Double.parseDouble(number2); d=-1*d; String str=String.valueOf(d); 鏈表.set(2, str); resultShow.setText(str); catch(Exception ee) else if(e.getSource()=求倒數(shù)按鈕) if(鏈表.size()=1|鏈表.size()=2) String number1=(String)鏈表.getFirst(); try double d=Double.parseDouble(number1); d=1.0/d; String str=String.valueOf(d); 鏈表.set(0, str); resultShow.setText(str); catch(Exception ee) else if(鏈表.size()=3) String number2=(String)鏈表.getFirst(); try double d=Double.parseDouble(number2); d=1.0/d; String str=String.valueOf(d); 鏈表.set(0, str); resultShow.setText(str); catch(Exception ee) 計(jì)算器 16 else if(e.getSource()=清零按鈕) 是否按下等號(hào)=false; resultShow.setText(“0“); 鏈表.clear(); public static void main(String args) new ComputerPad(); 附錄 源程序清單 import java.awt.*; public class NumberButton extends Button int number; public NumberButton(int number) super(“ “+number); this.number=number; setForeground(Color.blue); public int getNumber() return number;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論