

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課程設(shè)計(論文)任務(wù)書</p><p> 經(jīng)管 學(xué) 院 電子商務(wù) ?!I(yè) ******** 班</p><p> 一、課程設(shè)計(論文)題目: 簡易計算器設(shè)計 </p><p> 二、課程設(shè)計(論文)工作:</p><p> 自 年 月 日起至 年 月 日止&l
2、t;/p><p> 三、課程設(shè)計(論文) 地點: </p><p> 四、課程設(shè)計(論文)內(nèi)容要求:</p><p> 1.本課程設(shè)計的目的</p><p> (1)使學(xué)生掌握軟件開發(fā)的基本工作流程; </p><p> (2)鞏固JAVA程序設(shè)計課程所學(xué)的內(nèi)容;
3、 </p><p> ?。?)培養(yǎng)學(xué)生的計算機思維能力以及合作的精神;</p><p> ?。?)培養(yǎng)學(xué)生分析、解決問題的能力;</p><p> ?。?)提高學(xué)生的科技論文寫作能力。 </p><p> 2.課程設(shè)計的任務(wù)及要求</p><p><b> 1)基本要求:</b></p
4、><p> (1)研究課程設(shè)計任務(wù),并進行系統(tǒng)需求分析;</p><p> (2)對系統(tǒng)進行總體設(shè)計,分解系統(tǒng)功能模塊,進行任務(wù)分配,以實現(xiàn)分工合作;</p><p> ?。?)實現(xiàn)各功能模塊代碼; </p><p> ?。?)系統(tǒng)組裝,測試、完善系統(tǒng)。</p><p><b> 2)創(chuàng)新要求: </
5、b></p><p> 在基本要求達到后,可進行創(chuàng)新設(shè)計,如改進界面、增加功能或進行代碼優(yōu)化。</p><p> 3)課程設(shè)計論文編寫要求</p><p> ?。?)要按照書稿的規(guī)格打印謄寫課程設(shè)計論文</p><p> (2)論文包括封面、設(shè)計任務(wù)書(含評語)、摘要、目錄、設(shè)計內(nèi)容、設(shè)計小結(jié)</p><p&g
6、t; ?。?)論文裝訂按學(xué)校的統(tǒng)一要求完成</p><p><b> 4)參考文獻:</b></p><p> (1)丁振凡,《JAVA語言程序設(shè)計》,清華大學(xué)出版社.</p><p> ?。?)丁振凡,《JAVA語言程序設(shè)計實驗指導(dǎo)與習(xí)題解答》,清華大學(xué)出版社.</p><p><b> (3) <
7、;/b></p><p> 5)課程設(shè)計進度安排</p><p> 內(nèi)容 天數(shù) 地點</p><p> 系統(tǒng)總體設(shè)計 1 實驗室</p><p> 軟件設(shè)計及調(diào)試 2 實驗室</p><p> 答辯
8、及撰寫報告 2 實驗室、圖書館</p><p> 學(xué)生簽名: </p><p><b> 2012年6月8日</b></p><p> 課程設(shè)計(論文)評審意見</p><p> ?。?)課程設(shè)計過程(20分):優(yōu)( )、良(?。?、中(?。⒁话悖ā。?、差
9、(?。?</p><p> ?。?)是否完成調(diào)試,系統(tǒng)運行效果(30分):優(yōu)(?。?、良(?。⒅校ā。⒁话悖ā。⒉睿ā。?</p><p> ?。?)回答問題(20分):優(yōu)( )、良(?。⒅校ā。?、一般(?。?、差( );</p><p> ?。?)課程設(shè)計報告(30分):優(yōu)(?。?、良(?。?、中(?。?、一般(?。?、差(?。?;</p><p
10、> ?。?)格式規(guī)范性及考勤是否降等級:是(?。?、否( )</p><p> 2011年 6月10日</p><p><b> 計算器設(shè)計</b></p><p><b> 摘要:</b></p><p> 利用Java語言設(shè)計出一個簡易的計算器,能實現(xiàn)加減乘除等簡單運算。該應(yīng)用涉及圖
11、形界面的布局,按鈕的動作事件處理,窗體的事件處理。由于所有按鈕均用窗體作為事件監(jiān)聽者,在程序中通過區(qū)分事件源對不同的按鈕點擊區(qū)分處理。</p><p><b> (100字以上)</b></p><p><b> 目 錄</b></p><p> 1、項目內(nèi)容、要求與分組情況總體介紹2</p>&l
12、t;p><b> 2、概要設(shè)計2</b></p><p> 2.1開發(fā)工具及環(huán)境2</p><p> 2.2 任務(wù)及需求分析2</p><p> 2.3 功能模塊設(shè)計2</p><p> 2.4 工作原理3</p><p><b> 3、 具體實現(xiàn)3<
13、/b></p><p><b> 3.1 類設(shè)計3</b></p><p> 3.2 模塊及實現(xiàn)代碼介紹3</p><p> 4、運行調(diào)試與分析討論4</p><p> 5、設(shè)計體會與小結(jié)6</p><p><b> 6、參考文獻7</b></
14、p><p> 附錄:(源程序)7</p><p> 1、項目內(nèi)容、要求與分組情況總體介紹</p><p> 本次實驗的目標是制作一個計算器,可以進行簡單的四則運算(加、減、乘、除)。小組的具體分工情況見下表:</p><p><b> 2、概要設(shè)計</b></p><p> 2.1開發(fā)工具
15、及環(huán)境</p><p> 文本編輯器:記事本;</p><p> 運行環(huán)境:命令提示符(DOS環(huán)境)。</p><p> 2.2 任務(wù)及需求分析</p><p> 設(shè)計簡易計算器程序,實現(xiàn)簡單的運算(加減乘除),具體任務(wù)如下:</p><p> ?。?)計算器窗口界面布局設(shè)計;</p><p
16、> ?。?)各種計算功能的算法分析;</p><p> (3)編程實現(xiàn)具體的計算功能,實現(xiàn)類的封裝處理;</p><p> ?。?)運行測試程序,調(diào)試糾正運行錯誤。</p><p><b> 2.3 工作原理</b></p><p><b> ?。?)工作過程</b></p>
17、<p> 點擊相應(yīng)的數(shù)字鍵,即會在顯示文檔中顯示該數(shù)字。進行相應(yīng)的運算,首先輸入第一個計算數(shù)字,然后輸入運算符,再輸入第二個計算數(shù)字,點擊“=”按鈕即得計算結(jié)果。同時,還有歸零功能,點擊該按鈕,顯示欄中即可歸零。</p><p><b> ?。?)工作原理</b></p><p> 利用圖形界面編程實現(xiàn),利用到的知識點包括:</p>&l
18、t;p> 窗體的創(chuàng)建和應(yīng)用界面布局;</p><p> 事件處理,包括按鈕的動作事件處理,窗體事件。</p><p> 接口知識:事件處理中通過接口約束事件監(jiān)聽者必須實現(xiàn)相應(yīng)接口中定義的方法。</p><p> 流程控制語句:通過條件判斷區(qū)分不同按鈕,作不同操作處理。</p><p><b> 3、 具體實現(xiàn)<
19、/b></p><p><b> 3.1 類設(shè)計</b></p><p> (1) 類名:jisuanqi</p><p> 作用:實現(xiàn)窗口的布局設(shè)定,事件注冊。</p><p> 該類繼承WindowAdapter類。</p><p> 類中含有的方法介紹:</p>
20、<p> frame()方法:實現(xiàn)窗體的界面布局及按鈕的事件注冊。</p><p> main()方法:應(yīng)用程序的入口,完成創(chuàng)建對象并調(diào)用frame()方法。</p><p> (2) 類名:close</p><p> 該類為jisuanqi的內(nèi)嵌類,作用是實現(xiàn)對關(guān)閉按鈕的動作事件監(jiān)聽處理。</p><p> 該類實現(xiàn)
21、ActionListener接口。</p><p> 類中含有的方法介紹:</p><p> actionPerformed方法:實現(xiàn)關(guān)閉按鈕的動作事件處理。</p><p> (3) 類名:buttonlistener</p><p> 該類為jisuanqi的內(nèi)嵌類,作用是實現(xiàn)計算器中數(shù)字按鈕和各類運算按鈕等的動作事件監(jiān)聽處理。&
22、lt;/p><p> 該類實現(xiàn)ActionListener接口。</p><p> 類中含有的方法介紹:</p><p> actionPerformed方法:實現(xiàn)各類按鈕的動作事件處理。</p><p> jisuan()方法:實現(xiàn)具體運算操作。</p><p> 3.2 關(guān)鍵技術(shù)處理</p>&
23、lt;p> (1) 窗體界面設(shè)計及注冊事件監(jiān)聽</p><p> Frame fm = new Frame("簡單計算器");</p><p> for (int i = 0; i <= 16; i++) {</p><p> b[i] = new Button(ss[i]);</p><p> }
24、 </p><p> for (int i = 0; i <= 15; i++) {</p><p> p2.add(b[i]);</p><p> } //創(chuàng)建按鈕 并添加到P2</p><p> b[16].s
25、etBackground(Color.yellow);</p><p> txt = new TextField(15);</p><p> txt.setEditable(false);</p><p> for (int i = 0; i <= 16; i++) {</p><p> b[i].addActionListen
26、er(new buttonlistener());</p><p><b> …… </b></p><p><b> }</b></p><p> 注:此方法主要設(shè)置窗口、面板、各個按鍵。對各個按鍵進行定義(定義好各按鍵該實現(xiàn)什么功能)、排布,將各個按鍵注冊到監(jiān)聽器上。</p><p>
27、(2) 按鈕事件處理</p><p> 區(qū)分事件源:通過事件對象的getSource()方法得到事件源。關(guān)鍵代碼如下:</p><p> Button btn = (Button) e.getSource();</p><p> if (btn.getLabel() == "=") {</p><p><b&g
28、t; ……</b></p><p><b> }</b></p><p> 改變計算器的結(jié)果。更改文本框的顯示,先讀原有的數(shù)據(jù)。</p><p> txt.setText(txt.getText() + btn.getLabel());</p><p><b> 清除計算器的顯示</
29、b></p><p> if (btn.getLabel() == "歸零")</p><p> txt.setText(""); </p><p><b> (3) 窗體關(guān)閉</b></p><p> class close implements ActionLis
30、tener {//退出</p><p> public void actionPerformed(ActionEvent e) {</p><p> System.exit(0);</p><p><b> }</b></p><p><b> }</b></p><p&
31、gt; 【注】也可以執(zhí)行窗體的dispose()方法實現(xiàn)窗體關(guān)閉。</p><p> (4) 記住前一個運算符</p><p> 引入一個字符串類型的類變量 s記錄前一個運算符,每次按運算符是先執(zhí)行前一個運算符的結(jié)果。</p><p> 4、運行調(diào)試與分析討論</p><p> 調(diào)試運行4*5運算,運算過程如下所示:</p&g
32、t;<p> 測試程序,點擊數(shù)字鍵可將數(shù)據(jù)輸入到文本框,點擊“+”、“-”、“*”、“/”按鈕可進行前一個運算,點擊“=”可完成整個運算。從而達到能進行加、減、乘、除運算的簡易計算器的功能。點擊關(guān)閉圖標可關(guān)閉計算器。</p><p><b> 5、設(shè)計體會與小結(jié)</b></p><p> 通過這次課程設(shè)計,我了解到j(luò)ava也是可以分工合作的,雖然最
33、后的整合過程非常麻煩,但是在整合完后,我們發(fā)現(xiàn),課本被翻過很多遍,很多以前不知道的東西就這樣豁然開朗了。我們還引用了很多從來沒有用過的語句塊,大多是從網(wǎng)上找到,然后自己整合進入代碼,再實現(xiàn)我們想要的功能。</p><p> 編程是個艱難的過程,很多功能語句都需要上網(wǎng)或者是查其他書籍來查看他們的用法,課本上的東西對我們來說遠遠不夠,我們要把目光放長遠一些。</p><p> 這次的課程設(shè)
34、計使我對JAVA的許多東西都有了更深一步的了解,以前對自己的要求是看得懂就行,現(xiàn)在才發(fā)現(xiàn),光能看懂是遠遠不夠的,能看懂并不代表你會!只有自己真的親身體驗到了,才會知道。</p><p> 這個禮拜的課程設(shè)計是這個學(xué)期最累的一個禮拜,但是,我們的付出總算有回報,雖然我們的計算器可能還存在不少的問題,但是,至少它可以正常運行四則運算,基本達到了我們預(yù)期的要求,所以,這個禮拜同樣是我最充實的一個禮拜。</p&g
35、t;<p><b> 6、參考文獻</b></p><p> [1] 丁振凡,《JAVA語言程序設(shè)計》,清華大學(xué)出版社.</p><p> [2] 丁振凡,《JAVA語言程序設(shè)計實驗指導(dǎo)與習(xí)題解答》,清華大學(xué)出版社.</p><p> [3] 杜春濤,《面向?qū)ο蟪绦蛟O(shè)計—Java語言》,中國鐵道出版社.</p>
36、<p> [4] http://cai.ecjtu.jx.cn/</p><p><b> 附錄:(源程序)</b></p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> public class jisuan
37、qi extends WindowAdapter {</p><p> Panel p1 = new Panel();</p><p> Panel p2 = new Panel();</p><p> Panel p3 = new Panel();</p><p> TextField txt;</p><p&g
38、t; private Button[] b = new Button[17];</p><p> private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1"
39、, "2", "3", "*", "歸零", "0", "=", "/", "關(guān)閉" };</p><p> static double a;</p><p> static String s, str;//定義變量 創(chuàng)建對像&
40、lt;/p><p> public static void main(String args[]) {</p><p> (new jisuanqi()).frame();</p><p><b> }</b></p><p> public void frame() {</p><p>
41、Frame fm = new Frame("簡單計算器");</p><p> for (int i = 0; i <= 16; i++) {</p><p> b[i] = new Button(ss[i]);</p><p> } </p><p>
42、 for (int i = 0; i <= 15; i++) {</p><p> p2.add(b[i]);</p><p> } //創(chuàng)建按鈕 并添加到P2</p><p> b[16].setBackground(Color.yellow);</p><p> t
43、xt = new TextField(15);</p><p> txt.setEditable(false);</p><p> for (int i = 0; i <= 16; i++) {</p><p> b[i].addActionListener(new buttonlistener());//添加監(jiān)聽器</p><p&g
44、t;<b> }</b></p><p> b[16].addActionListener(new close());</p><p> fm.addWindowListener(this);</p><p> fm.setBackground(Color.red);</p><p> p1.setLayout
45、(new BorderLayout());</p><p> p1.add(txt, "North");</p><p> p2.setLayout(new GridLayout(4, 4));</p><p> p3.setLayout(new BorderLayout());</p><p> p3.add(b
46、[16]);</p><p> fm.add(p1, "North");</p><p> fm.add(p2, "Center");</p><p> fm.add(p3, "South");</p><p> fm.pack();</p><p>
47、 fm.setVisible(true);//都是些窗中設(shè)置 添加相關(guān)組件和監(jiān)聽器</p><p><b> }</b></p><p> public void windowClosing(WindowEvent e) {</p><p> System.exit(0);//退出系統(tǒng)</p><p><b
48、> }</b></p><p> class buttonlistener implements ActionListener {</p><p> //編寫監(jiān)聽器事件 通過按鍵得出結(jié)果</p><p> public void actionPerformed(ActionEvent e) {</p><p> B
49、utton btn = (Button) e.getSource();</p><p> if (btn.getLabel() == "=") {</p><p><b> jisuan();</b></p><p> str = String.valueOf(a);</p><p> txt
50、.setText(str);</p><p><b> s = "";</b></p><p> } else if (btn.getLabel() == "+") {</p><p><b> jisuan();</b></p><p> txt.s
51、etText("");</p><p><b> s = "+";</b></p><p> } else if (btn.getLabel() == "-") {</p><p><b> jisuan();</b></p><p>
52、; txt.setText("");</p><p><b> s = "-";</b></p><p> } else if (btn.getLabel() == "/") {</p><p><b> jisuan();</b></p>
53、<p> txt.setText("");</p><p><b> s = "/";</b></p><p> } else if (btn.getLabel() == "*") {</p><p><b> jisuan();</b><
54、/p><p> txt.setText("");</p><p><b> s = "*";</b></p><p><b> } else {</b></p><p> txt.setText(txt.getText() + btn.getLabel()
55、);</p><p> if (btn.getLabel() == "歸零")</p><p> txt.setText("");</p><p><b> }</b></p><p><b> }</b></p><p>
56、public void jisuan() {//編寫具體計算方法 </p><p> if (s == "+")</p><p> a += Double.parseDouble(txt.getText());</p><p> else if (s == "-")</p><p> a -=
57、Double.parseDouble(txt.getText());</p><p> else if (s == "*")</p><p> a *= Double.parseDouble(txt.getText());</p><p> else if (s == "/")</p><p>
58、 a /= Double.parseDouble(txt.getText());</p><p><b> else</b></p><p> a = Double.parseDouble(txt.getText());</p><p><b> }</b></p><p><b>
59、 }</b></p><p><b> }</b></p><p> class close implements ActionListener { //退出</p><p> public void actionPerformed(ActionEvent e) {</p><p> System
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計----簡易計算器
- 高級語言課程設(shè)計--簡易計算器
- 基于javajdk的簡易計算器java課程設(shè)計
- java課程設(shè)計---java計算器
- 簡易計算器課程設(shè)計
- 簡易計算器課程設(shè)計
- 簡易計算器課程設(shè)計
- java課程設(shè)計—計算器
- java課程設(shè)計計算器
- java計算器課程設(shè)計
- java課程設(shè)計---計算器
- java課程設(shè)計--計算器
- java課程設(shè)計計算器
- 計算器java課程設(shè)計--簡單計算器
- 簡易計算器的設(shè)計課程設(shè)計
- java課程設(shè)計報告--計算器設(shè)計
- 簡易計算器課程設(shè)計 (3)
- 簡易計算器課程設(shè)計 (2)
- 簡易計算器課程設(shè)計報告
- vb課程設(shè)計簡易計算器
評論
0/150
提交評論