Java課程設(shè)計實驗報告21565_第1頁
Java課程設(shè)計實驗報告21565_第2頁
Java課程設(shè)計實驗報告21565_第3頁
免費預(yù)覽已結(jié)束,剩余15頁可下載查看

下載本文檔

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

文檔簡介

1、Java課程設(shè)計報告課 目: 計算器學(xué)院:基礎(chǔ)學(xué)院班級:光信息2009-1學(xué)生:指導(dǎo)教師:丁振凡曉瑞輔導(dǎo)教師:完成時間:2010年7月1日課程設(shè)計(論文)任務(wù)書基礎(chǔ)學(xué)院 光信息專業(yè) 2009-1 班一、 課程設(shè)計 (論文)題目: 計算器二、課程設(shè)計(論文)工作:自2010年_6_月_28_日起至 2010年7月 A日止三、 課程設(shè)計(論文)地點:8-606四、課程設(shè)計(論文)容要求:1 本課程設(shè)計的目的1)使學(xué)生掌握軟件開發(fā)的基本工作流程;(2) 鞏固JAVAg序設(shè)計課程所學(xué)的容;(3) 培養(yǎng)學(xué)生的計算機(jī)思維能力以及合作的精神;(4) 培養(yǎng)學(xué)生分析、解決問題的能力;(5) 提高學(xué)生的科技論文寫

2、作能力。2 課程設(shè)計的任務(wù)及要求1)基本要求:(1) 研究課程設(shè)計任務(wù),并進(jìn)行系統(tǒng)需求分析;(2) 對系統(tǒng)進(jìn)行總體設(shè)計,分解系統(tǒng)功能模塊,進(jìn)行任務(wù)分配,以實現(xiàn)分工合作;(3) 實現(xiàn)各功能模塊代碼;(4) 組裝各模塊,并測試、完善系統(tǒng)。2)創(chuàng)新要求:在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計,如改進(jìn)界面、增加功能或進(jìn)行代碼優(yōu)化3 )課程設(shè)計論文編寫要求1)要按照書稿的規(guī)格打印謄寫課程設(shè)計論文(2)論文包括封面、設(shè)計任務(wù)書(含評語)、摘要、目錄、設(shè)計容、設(shè)計小結(jié)(3)論文裝訂按學(xué)校的統(tǒng)一要求完成4)參考文獻(xiàn):1 杜春濤面向?qū)ο蟪绦蛟O(shè)計一 Java 語言 中國鐵道出版社丁振凡Java語言實用教程北京郵電大學(xué)出

3、版社5)課程設(shè)計進(jìn)度安排容天數(shù)地點系統(tǒng)總體設(shè)計1實驗室軟件設(shè)計及調(diào)試2實驗室、圖書館答辯及撰寫報告2實驗室、圖書館學(xué)生簽名:2010年7月3日課程設(shè)計(論文)評審意見(1)課程設(shè)計過程(20 分):優(yōu)()、良()、中()、一般()、差();(2)是否完成調(diào)試,系統(tǒng)運(yùn)行效果(30分):優(yōu)()、良()、中()、一般(、差();(3)回答問題(20 分):優(yōu)()、良()、中()、一般()、差();(4)課程設(shè)計報告(30 分):優(yōu)()、良()、中()、一一般()、差();(5)格式規(guī)性及考勤是否降等級:是()、否()評閱人:職稱:教授2010年7月5日計算機(jī)設(shè)計摘要我們設(shè)計的程序是一個 GUI界面簡

4、單的Java計算機(jī)程序, 具有良好的界面,使用人員能快捷就方便的進(jìn)行操作,及時準(zhǔn)確 的獲得需要的計算結(jié)果,充分降低了數(shù)字計算的難度和節(jié)約了時 間,對人們的生活有一定的幫助??梢赃M(jìn)行簡單的四則運(yùn)算(加、 減、乘、除)我們組長是晨,組員分別是芬、朱蘇敏、許丹鳳。我主要 負(fù)責(zé)最后把程序的一些細(xì)節(jié)問題點綴。在編寫程序的過程中,我 們大家一起發(fā)現(xiàn)問題討論問題,并且努力去解決問題,充分的發(fā) 揮了小組合作的精神。在實驗報告中我們會對程序代碼進(jìn)行解釋分析,然后把運(yùn) 行過程中遇到的問題拿出來進(jìn)行討論。關(guān)鍵字:Java計算器類方法事件目錄1、項目容、要求與分組情況總體介紹 12、概要設(shè)計 72.1開發(fā)工具及環(huán)境

5、72.2任務(wù)及需求分析 72.3功能模塊設(shè)計 72.4工作原理 73、運(yùn)行調(diào)試與分析討論 34、體會與小結(jié) 85、參考文獻(xiàn) 12附錄:(源程序) 141、項目容、要求與分組情況總體介紹(1)項目容、要求:本次實驗的目標(biāo)是制作一個計算器,可以進(jìn)行簡單的四則運(yùn)算(加、減、乘、除)。(2)分組情況:晨:主要負(fù)責(zé)把計算器的大概框架給磨合出來,運(yùn)用所學(xué)書本上只是整合代碼。芬:把程序進(jìn)行初步修改。朱蘇敏:把程序運(yùn)行中的錯誤進(jìn)行修改。許丹鳳;最后把程序的一些細(xì)節(jié)問題點綴。2、概要設(shè)計2.1開發(fā)工具及環(huán)境文本編輯器:記事本;運(yùn)行環(huán)境:命令提示符(DOS境)。2.2任務(wù)及需求分析設(shè)計簡易計算器程序,實現(xiàn)簡單的運(yùn)

6、算(加減乘除),具體任務(wù)如下:(1)計算器窗口界面布局設(shè)計;(2)各種計算功能的算法分析;(3)編程實現(xiàn)具體的計算功能;(4)運(yùn)行測試程序,調(diào)試糾正運(yùn)行錯誤。(5) 調(diào)試無誤,運(yùn)行,測試具體算法功能2.3功能模塊設(shè)計計算器的模塊設(shè)計圖如下:2.4工作原理點擊相應(yīng)的數(shù)字鍵,即會在顯示文檔中顯示該數(shù)字。進(jìn)行相 應(yīng)的運(yùn)算,首先輸入第一個計算數(shù)字,然后輸入運(yùn)算符,再輸入 第二個計算數(shù)字,點擊“=”按鈕即得計算結(jié)果。同時,還有歸零 功能,點擊該按鈕,顯示欄中即可歸零。3、運(yùn)行調(diào)試與分析討論調(diào)試運(yùn)行1+6運(yùn)算,運(yùn)算過程如下所示:(1)命令提示符中運(yùn)行計算器程序,如下圖:(2)計算器界面顯示,輸入第一個運(yùn)算

7、值“ 1”,如下圖:3 )輸入運(yùn)算符“ +”,如下圖:固擊計石#-|口| 刃7n9458123歸壽0二iI4)輸入第二個運(yùn)算值“ 6”,如下圖所示:山:J口 2<J關(guān)閉769十455-123f0二65)點擊計算器按鈕“=”,得出計算結(jié)果。如下圖:分析討論出現(xiàn)的問題:問題1: 一按按鈕“歸零”小計算器就會關(guān)閉。解決方法:在把數(shù)字加到面板上時沒有很好的處理各個按鈕的位置,把“歸零”和“關(guān)閉”的弄錯了。重新檢查一遍后分析出問 題出現(xiàn)的原因,將“歸零”和“關(guān)閉”的位置互換,再次運(yùn)行程 序,可行。問題2:計算器精確度不好。解決方法:用戶交互的數(shù)據(jù)平時使用字符串存放,需要計算時再將其轉(zhuǎn)換double

8、型。問題3:對于按鈕的處理出現(xiàn)了一定的問題解決方法:由于剛開始對題目的審題不清楚,沒有按鈕,后來重 新設(shè)置按鈕的時候, 選擇對所有按鈕一個一個賦值,出現(xiàn) 的問題比較大,按鈕出現(xiàn)了混亂,同時很多按鈕都無法使 用,比如說按“=”時無法出現(xiàn)結(jié)果。后來經(jīng)過一個下午的 上網(wǎng)查資料以及組員討論修改,最后先定義一個數(shù)組,再 將所有的按鈕按照一定的順序賦值在這個數(shù)組中,這樣即 簡單了很多,同時很好的解決了這個問題。4、設(shè)計體會與小結(jié)通過這次JAVA的課程設(shè)計,學(xué)到了很多東西。以前上 JAVA 課,老師講課速度有點快,一些細(xì)節(jié)在老師講課的時候就沒能夠 很好的理解。這次JAVA課程設(shè)計考慮到自身的能力,我們小組選

9、 擇了編寫較簡單的計算器程序,在編寫程序的過程中,出現(xiàn)了較 多的問題,這是對我們這一學(xué)期所學(xué)Java知識的鞏固和考驗。在 編寫程序的過程中,我們發(fā)現(xiàn)了自身很多缺陷,比如說對于基礎(chǔ) 知識掌握的不夠牢固,導(dǎo)致編寫程序時問題不斷,大大小小的各 種問題層出不窮,結(jié)果就是每次遇到問題時要花很多時間翻閱書 本、在百度搜索來、詢問懂的同學(xué)等來解決問題,不過,也正因 為這個,隨著程序設(shè)計的結(jié)束,我們對于JAVA的了解更進(jìn)了一步, 以前不是很理解的部分在我們的腦海中漸漸清晰了起來。在小組的合作中,我們充分的發(fā)揮了小組合作的精神,從一 開始的無從下手到最后的程序的成功運(yùn)行,無不撒滿了我們的汗 水,是我們共同努力的

10、結(jié)晶。組長晨付出了最多的努力,整個程 序大致的框架主要是她構(gòu)想出來的,接下來的落實行動是我們大 家一起執(zhí)行的,當(dāng)有建議時我們會主動提出,在大家的討論下決 定去留;當(dāng)出現(xiàn)問題時我們會一起根據(jù)提示找出問題,想盡一切 辦法去解決;當(dāng)不知道程序該如何進(jìn)行下去時,我們會一起翻書 找實例,根據(jù)書本及網(wǎng)上的知識嘗試著每一種可能。雖然我們每 個人掌握的Java知識并不是很全面,但是人多力量大,在我們的 不懈努力下還是成功完成了課程設(shè)計。過程是艱辛且煩人的,成 功的喜悅足以彌補(bǔ)這一切,這次課程設(shè)計帶給了我們每個人無比 豐富的收獲,相信通過這次對我們學(xué)習(xí)的驗收及考驗,在接下來 的過程中,我們會學(xué)得更好,收獲更多的

11、!5、參考文獻(xiàn)1 杜春濤,面向?qū)ο蟪绦蛟O(shè)計一Java語言,中國鐵道出版社2 丁振凡,JAVA語言實用教程,北京郵電大學(xué)出版社3 .baidu.附錄:(源程序)public class jisua nqi exte nds Win dowAdapter /Panel p1 = new Pan el();Panel p2 = new Pan el();Panel p3 = new Pan el();/定義面板TextField txt;/ 文本框定義17個按鈕private Butt on b = new Butt on 17;/private String ss = "7",

12、 "8",II9", "+", "4", "5", "6","-","1","2","3","*","歸零",II0","=","/","關(guān)閉"/ss是一個數(shù)組static double a;/ 雙精度static Stri ng s, str;/定義自變量,創(chuàng)建對象public static vo

13、id main( Stri ng args) 是一個方法(new jisua nqi ().frame();/frame() public void frame() Frame fm = new Frame(" 簡單計算器");/ 創(chuàng)建一個面板for (int i = 0; i <= 16; i+) 賦值按鈕bi = new Butto n(ssi);for (int i = 0; i <= 15; i+) p2.add(bi);把按鈕增加到面板上去b16.setBackgro un d(Color.blue);/設(shè)置背景顏色txt = new TextFiel

14、d(15);設(shè)置文本框大小txt.setEditable(false);for (int i = 0; i <= 16; i+) bi.addActio nListe ner(new butt on liste ner();添加監(jiān)聽者b16.addActio nListe ner(n ew close();/設(shè)置監(jiān)聽者fm.addWi ndowListe ner(this);fm.setBackgro un d(Color.black);p1.setLayout (new BorderLayout();p1.add(txt, "North");/文本框的位置p2.se

15、tLayout(new GridLayout(4, 4);/把按鈕設(shè)置成 4 行 4列p3.setLayout (new BorderLayout();p3.add(b16);fm.add(p1, "South");fm.add(p2, "Ce nter");fm.add(p3, "North");/定義位置fm.pack();fm.setVisible(true);public void win dowClos in g(Wi ndowEve nt e) System.exit(O);/關(guān)閉面板但不關(guān)閉部文件class butt o

16、n liste ner impleme nts Actio nListe ner public void actio nPeformed(Actio nEve nt e) Butt on btn = (Butt on) e.getSource();if (bt n.getLabel() = "=") jisua n();str = Stri ng.valueOf(a);txt.setText(str);s ="" else if (bt n.getLabel() = "+") jisua n();txt.setText("&

17、quot;);s = "+" else if (bt n.getLabel() = "-") jisua n();txt.setText("");s ="-" else if (bt n.getLabel() = "/") jisua n();txt.setText("");s = "/" else if (bt n.getLabel() = "*") jisua n();txt.setText(""); else txt.setText(txt.getText() + btn .getLabel();if (bt n.getLabel()="歸零")txt.setText("");public void jisua n() /具體計算方法if (s = "+")a += Double.parseDouble(txt.getText();else if (s ="-")a -= Double.parseDouble(txt.getText()

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論