課程設(shè)計實驗報告75338_第1頁
課程設(shè)計實驗報告75338_第2頁
課程設(shè)計實驗報告75338_第3頁
課程設(shè)計實驗報告75338_第4頁
課程設(shè)計實驗報告75338_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Java課程設(shè)計報告課 目: 計算器 學 院: 基礎(chǔ)學院 班 級: 光信息2009-1 學 生: 指導教師: 丁振凡 張曉瑞 輔導教師: 江 宇 完成時間:2010年7月1日課程設(shè)計(論文)任務書 基礎(chǔ) 學院光信息 專業(yè) 2009-1班一、課程設(shè)計(論文)題目: 計算器 二、課程設(shè)計(論文)工作:自 2010 年 6 月 28 日起至 2010 年 7 月 4日止三、課程設(shè)計(論文) 地點: 8-606 四、課程設(shè)計(論文)內(nèi)容要求:1本課程設(shè)計的目的1)使學生掌握軟件開發(fā)的基本工作流程; (2)鞏固JAVA程序設(shè)計課程所學的內(nèi)容; (3)培養(yǎng)學生的計算機思維能力以及合作的精神; (4)培養(yǎng)學

2、生分析、解決問題的能力; (5)提高學生的科技論文寫作能力。 2課程設(shè)計的任務及要求1)基本要求:(1)研究課程設(shè)計任務,并進行系統(tǒng)需求分析; (2)對系統(tǒng)進行總體設(shè)計,分解系統(tǒng)功能模塊,進行任務分配,以實現(xiàn)分工合作; (3)實現(xiàn)各功能模塊代碼; (4)組裝各模塊,并測試、完善系統(tǒng)。 2)創(chuàng)新要求: 在基本要求達到后,可進行創(chuàng)新設(shè)計,如改進界面、增加功能或進行代碼優(yōu)化.3)課程設(shè)計論文編寫要求1)要按照書稿的規(guī)格打印謄寫課程設(shè)計論文 (2)論文包括封面、設(shè)計任務書(含評語)、摘要、目錄、設(shè)計內(nèi)容、設(shè)計小結(jié) (3)論文裝訂按學校的統(tǒng)一要求完成 4)參考文獻:1杜春濤面向?qū)ο蟪绦蛟O(shè)計Java語言

3、中國鐵道出版社2丁振凡 Java語言實用教程 北京郵電大學出版社5)課程設(shè)計進度安排內(nèi)容 天數(shù)地點系統(tǒng)總體設(shè)計 1實驗室軟件設(shè)計及調(diào)試 2實驗室、圖書館答辯及撰寫報告 2實驗室、圖書館 學生簽名: 2010年7月3日課程設(shè)計(論文)評審意見(1)課程設(shè)計過程(20分):優(yōu)()、良()、中()、一般()、差(); (2)是否完成調(diào)試,系統(tǒng)運行效果(30分):優(yōu)()、良()、中()、一般()、差(); (3)回答問題(20分):優(yōu)()、良()、中()、一般()、差();(4)課程設(shè)計報告(30分):優(yōu)()、良()、中()、一般()、差();(5)格式規(guī)范性及考勤是否降等級:是()、否() 評閱人:

4、 職稱: 教授 2010年 7月5日計算機設(shè)計摘要我們設(shè)計的程序是一個GUI界面簡單的Java計算機程序,具有良好的界面,使用人員能快捷就方便的進行操作,及時準確的獲得需要的計算結(jié)果,充分降低了數(shù)字計算的難度和節(jié)約了時間,對人們的生活有一定的幫助。可以進行簡單的四則運算(加、減、乘、除)我們組長是陳晨,組員分別是劉芬、朱蘇敏、許丹鳳。我主要負責最后把程序的一些細節(jié)問題點綴。在編寫程序的過程中,我們大家一起發(fā)現(xiàn)問題討論問題,并且努力去解決問題,充分的發(fā)揮了小組合作的精神。在實驗報告中我們會對程序代碼進行解釋分析,然后把運行過程中遇到的問題拿出來進行討論。關(guān)鍵字:Java 計算器類 方法 事件目

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

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

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

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

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

10、框架主要是她構(gòu)想出來的,接下來的落實行動是我們大家一起執(zhí)行的,當有建議時我們會主動提出,在大家的討論下決定去留;當出現(xiàn)問題時我們會一起根據(jù)提示找出問題,想盡一切辦法去解決;當不知道程序該如何進行下去時,我們會一起翻書找實例,根據(jù)書本及網(wǎng)上的知識嘗試著每一種可能。雖然我們每個人掌握的Java知識并不是很全面,但是人多力量大,在我們的不懈努力下還是成功完成了課程設(shè)計。過程是艱辛且煩人的,成功的喜悅足以彌補這一切,這次課程設(shè)計帶給了我們每個人無比豐富的收獲,相信通過這次對我們學習的驗收及考驗,在接下來的過程中,我們會學得更好,收獲更多的!5、參考文獻1杜春濤,面向?qū)ο蟪绦蛟O(shè)計Java語言,中國鐵道出

11、版社.2丁振凡,JAVA語言實用教程,北京郵電大學出版社.3附錄:(源程序)import java.awt.*;port java.awt.event.*;public class jisuanqi extends WindowAdapter / Panel p1 = new Panel(); Panel p2 = new Panel(); Panel p3 = new Panel();/定義面板 TextField txt;/文本框 private Button b = new Button17;/定義17個按鈕 private String ss = "7", &quo

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

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

14、new TextField(15);/設(shè)置文本框大小 txt.setEditable(false); for (int i = 0; i <= 16; i+) bi.addActionListener(new buttonlistener();/添加監(jiān)聽者 b16.addActionListener(new close();/設(shè)置監(jiān)聽者 fm.addWindowListener(this); fm.setBackground(Color.black); p1.setLayout(new BorderLayout(); p1.add(txt, "North");/文本框

15、的位置 p2.setLayout(new GridLayout(4, 4);/把按鈕設(shè)置成4行4列 p3.setLayout(new BorderLayout(); p3.add(b16); fm.add(p1, "South"); fm.add(p2, "Center"); fm.add(p3, "North");/定義位置 fm.pack(); fm.setVisible(true); public void windowClosing(WindowEvent e) System.exit(0);/關(guān)閉面板但不關(guān)閉內(nèi)部文件 cla

16、ss buttonlistener implements ActionListener public void actionPerformed(ActionEvent e) Button btn = (Button) e.getSource(); if (btn.getLabel() = "=") jisuan(); str = String.valueOf(a); txt.setText(str); s = "" else if (btn.getLabel() = "+") jisuan(); txt.setText("&

17、quot;); s = "+" else if (btn.getLabel() = "-") jisuan(); txt.setText(""); s = "-" else if (btn.getLabel() = "/") jisuan(); txt.setText(""); s = "/" else if (btn.getLabel() = "*") jisuan(); txt.setText(""); s = "*" else txt.setText(txt.getText() + btn.getLabel(); if (btn.getLabel() = "歸零") txt.setText(""); public void jisuan() /具體計算方法 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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論