版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課程設(shè)計(jì)(論文)任務(wù)書</p><p> 經(jīng)管 學(xué) 院 電子商務(wù) ?!I(yè) ******** 班</p><p> 一、課程設(shè)計(jì)(論文)題目: 簡(jiǎn)易計(jì)算器設(shè)計(jì) </p><p> 二、課程設(shè)計(jì)(論文)工作:</p><p> 自 年 月 日起至 年 月 日止&l
2、t;/p><p> 三、課程設(shè)計(jì)(論文) 地點(diǎn): </p><p> 四、課程設(shè)計(jì)(論文)內(nèi)容要求:</p><p> 1.本課程設(shè)計(jì)的目的</p><p> ?。?)使學(xué)生掌握軟件開發(fā)的基本工作流程; </p><p> ?。?)鞏固JAVA程序設(shè)計(jì)課程所學(xué)的內(nèi)容;
3、 </p><p> (3)培養(yǎng)學(xué)生的計(jì)算機(jī)思維能力以及合作的精神;</p><p> (4)培養(yǎng)學(xué)生分析、解決問(wèn)題的能力;</p><p> ?。?)提高學(xué)生的科技論文寫作能力。 </p><p> 2.課程設(shè)計(jì)的任務(wù)及要求</p><p><b> 1)基本要求:</b></p
4、><p> (1)研究課程設(shè)計(jì)任務(wù),并進(jìn)行系統(tǒng)需求分析;</p><p> ?。?)對(duì)系統(tǒng)進(jìn)行總體設(shè)計(jì),分解系統(tǒng)功能模塊,進(jìn)行任務(wù)分配,以實(shí)現(xiàn)分工合作;</p><p> ?。?)實(shí)現(xiàn)各功能模塊代碼; </p><p> (4)系統(tǒng)組裝,測(cè)試、完善系統(tǒng)。</p><p><b> 2)創(chuàng)新要求: </
5、b></p><p> 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如改進(jìn)界面、增加功能或進(jìn)行代碼優(yōu)化。</p><p> 3)課程設(shè)計(jì)論文編寫要求</p><p> ?。?)要按照書稿的規(guī)格打印謄寫課程設(shè)計(jì)論文</p><p> (2)論文包括封面、設(shè)計(jì)任務(wù)書(含評(píng)語(yǔ))、摘要、目錄、設(shè)計(jì)內(nèi)容、設(shè)計(jì)小結(jié)</p><p&g
6、t; ?。?)論文裝訂按學(xué)校的統(tǒng)一要求完成</p><p><b> 4)參考文獻(xiàn):</b></p><p> ?。?)丁振凡,《JAVA語(yǔ)言程序設(shè)計(jì)》,清華大學(xué)出版社.</p><p> ?。?)丁振凡,《JAVA語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題解答》,清華大學(xué)出版社.</p><p><b> ?。?) <
7、;/b></p><p> 5)課程設(shè)計(jì)進(jìn)度安排</p><p> 內(nèi)容 天數(shù) 地點(diǎn)</p><p> 系統(tǒng)總體設(shè)計(jì) 1 實(shí)驗(yàn)室</p><p> 軟件設(shè)計(jì)及調(diào)試 2 實(shí)驗(yàn)室</p><p> 答辯
8、及撰寫報(bào)告 2 實(shí)驗(yàn)室、圖書館</p><p> 學(xué)生簽名: </p><p><b> 2012年6月8日</b></p><p> 課程設(shè)計(jì)(論文)評(píng)審意見</p><p> ?。?)課程設(shè)計(jì)過(guò)程(20分):優(yōu)(?。⒘迹ā。⒅校ā。?、一般( )、差
9、( ); </p><p> (2)是否完成調(diào)試,系統(tǒng)運(yùn)行效果(30分):優(yōu)(?。?、良(?。?、中(?。⒁话悖ā。⒉睿ā。?; </p><p> ?。?)回答問(wèn)題(20分):優(yōu)(?。?、良(?。?、中(?。⒁话悖ā。⒉睿ā。?;</p><p> (4)課程設(shè)計(jì)報(bào)告(30分):優(yōu)(?。?、良( )、中(?。?、一般(?。?、差(?。?lt;/p><p
10、> ?。?)格式規(guī)范性及考勤是否降等級(jí):是(?。⒎瘢ā。?lt;/p><p> 2011年 6月10日</p><p><b> 計(jì)算器設(shè)計(jì)</b></p><p><b> 摘要:</b></p><p> 利用Java語(yǔ)言設(shè)計(jì)出一個(gè)簡(jiǎn)易的計(jì)算器,能實(shí)現(xiàn)加減乘除等簡(jiǎn)單運(yùn)算。該應(yīng)用涉及圖
11、形界面的布局,按鈕的動(dòng)作事件處理,窗體的事件處理。由于所有按鈕均用窗體作為事件監(jiān)聽者,在程序中通過(guò)區(qū)分事件源對(duì)不同的按鈕點(diǎn)擊區(qū)分處理。</p><p><b> ?。?00字以上)</b></p><p><b> 目 錄</b></p><p> 1、項(xiàng)目?jī)?nèi)容、要求與分組情況總體介紹2</p>&l
12、t;p><b> 2、概要設(shè)計(jì)2</b></p><p> 2.1開發(fā)工具及環(huán)境2</p><p> 2.2 任務(wù)及需求分析2</p><p> 2.3 功能模塊設(shè)計(jì)2</p><p> 2.4 工作原理3</p><p><b> 3、 具體實(shí)現(xiàn)3<
13、/b></p><p><b> 3.1 類設(shè)計(jì)3</b></p><p> 3.2 模塊及實(shí)現(xiàn)代碼介紹3</p><p> 4、運(yùn)行調(diào)試與分析討論4</p><p> 5、設(shè)計(jì)體會(huì)與小結(jié)6</p><p><b> 6、參考文獻(xiàn)7</b></
14、p><p> 附錄:(源程序)7</p><p> 1、項(xiàng)目?jī)?nèi)容、要求與分組情況總體介紹</p><p> 本次實(shí)驗(yàn)的目標(biāo)是制作一個(gè)計(jì)算器,可以進(jìn)行簡(jiǎn)單的四則運(yùn)算(加、減、乘、除)。小組的具體分工情況見下表:</p><p><b> 2、概要設(shè)計(jì)</b></p><p> 2.1開發(fā)工具
15、及環(huán)境</p><p> 文本編輯器:記事本;</p><p> 運(yùn)行環(huán)境:命令提示符(DOS環(huán)境)。</p><p> 2.2 任務(wù)及需求分析</p><p> 設(shè)計(jì)簡(jiǎn)易計(jì)算器程序,實(shí)現(xiàn)簡(jiǎn)單的運(yùn)算(加減乘除),具體任務(wù)如下:</p><p> ?。?)計(jì)算器窗口界面布局設(shè)計(jì);</p><p
16、> ?。?)各種計(jì)算功能的算法分析;</p><p> ?。?)編程實(shí)現(xiàn)具體的計(jì)算功能,實(shí)現(xiàn)類的封裝處理;</p><p> (4)運(yùn)行測(cè)試程序,調(diào)試糾正運(yùn)行錯(cuò)誤。</p><p><b> 2.3 工作原理</b></p><p><b> (1)工作過(guò)程</b></p>
17、<p> 點(diǎn)擊相應(yīng)的數(shù)字鍵,即會(huì)在顯示文檔中顯示該數(shù)字。進(jìn)行相應(yīng)的運(yùn)算,首先輸入第一個(gè)計(jì)算數(shù)字,然后輸入運(yùn)算符,再輸入第二個(gè)計(jì)算數(shù)字,點(diǎn)擊“=”按鈕即得計(jì)算結(jié)果。同時(shí),還有歸零功能,點(diǎn)擊該按鈕,顯示欄中即可歸零。</p><p><b> ?。?)工作原理</b></p><p> 利用圖形界面編程實(shí)現(xiàn),利用到的知識(shí)點(diǎn)包括:</p>&l
18、t;p> 窗體的創(chuàng)建和應(yīng)用界面布局;</p><p> 事件處理,包括按鈕的動(dòng)作事件處理,窗體事件。</p><p> 接口知識(shí):事件處理中通過(guò)接口約束事件監(jiān)聽者必須實(shí)現(xiàn)相應(yīng)接口中定義的方法。</p><p> 流程控制語(yǔ)句:通過(guò)條件判斷區(qū)分不同按鈕,作不同操作處理。</p><p><b> 3、 具體實(shí)現(xiàn)<
19、/b></p><p><b> 3.1 類設(shè)計(jì)</b></p><p> (1) 類名:jisuanqi</p><p> 作用:實(shí)現(xiàn)窗口的布局設(shè)定,事件注冊(cè)。</p><p> 該類繼承WindowAdapter類。</p><p> 類中含有的方法介紹:</p>
20、<p> frame()方法:實(shí)現(xiàn)窗體的界面布局及按鈕的事件注冊(cè)。</p><p> main()方法:應(yīng)用程序的入口,完成創(chuàng)建對(duì)象并調(diào)用frame()方法。</p><p> (2) 類名:close</p><p> 該類為jisuanqi的內(nèi)嵌類,作用是實(shí)現(xiàn)對(duì)關(guān)閉按鈕的動(dòng)作事件監(jiān)聽處理。</p><p> 該類實(shí)現(xiàn)
21、ActionListener接口。</p><p> 類中含有的方法介紹:</p><p> actionPerformed方法:實(shí)現(xiàn)關(guān)閉按鈕的動(dòng)作事件處理。</p><p> (3) 類名:buttonlistener</p><p> 該類為jisuanqi的內(nèi)嵌類,作用是實(shí)現(xiàn)計(jì)算器中數(shù)字按鈕和各類運(yùn)算按鈕等的動(dòng)作事件監(jiān)聽處理。&
22、lt;/p><p> 該類實(shí)現(xiàn)ActionListener接口。</p><p> 類中含有的方法介紹:</p><p> actionPerformed方法:實(shí)現(xiàn)各類按鈕的動(dòng)作事件處理。</p><p> jisuan()方法:實(shí)現(xiàn)具體運(yùn)算操作。</p><p> 3.2 關(guān)鍵技術(shù)處理</p>&
23、lt;p> (1) 窗體界面設(shè)計(jì)及注冊(cè)事件監(jiān)聽</p><p> Frame fm = new Frame("簡(jiǎn)單計(jì)算器");</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è)置窗口、面板、各個(gè)按鍵。對(duì)各個(gè)按鍵進(jìn)行定義(定義好各按鍵該實(shí)現(xiàn)什么功能)、排布,將各個(gè)按鍵注冊(cè)到監(jiān)聽器上。</p><p>
27、(2) 按鈕事件處理</p><p> 區(qū)分事件源:通過(guò)事件對(duì)象的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> 改變計(jì)算器的結(jié)果。更改文本框的顯示,先讀原有的數(shù)據(jù)。</p><p> txt.setText(txt.getText() + btn.getLabel());</p><p><b> 清除計(jì)算器的顯示</
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()方法實(shí)現(xiàn)窗體關(guān)閉。</p><p> (4) 記住前一個(gè)運(yùn)算符</p><p> 引入一個(gè)字符串類型的類變量 s記錄前一個(gè)運(yùn)算符,每次按運(yùn)算符是先執(zhí)行前一個(gè)運(yùn)算符的結(jié)果。</p><p> 4、運(yùn)行調(diào)試與分析討論</p><p> 調(diào)試運(yùn)行4*5運(yùn)算,運(yùn)算過(guò)程如下所示:</p&g
32、t;<p> 測(cè)試程序,點(diǎn)擊數(shù)字鍵可將數(shù)據(jù)輸入到文本框,點(diǎn)擊“+”、“-”、“*”、“/”按鈕可進(jìn)行前一個(gè)運(yùn)算,點(diǎn)擊“=”可完成整個(gè)運(yùn)算。從而達(dá)到能進(jìn)行加、減、乘、除運(yùn)算的簡(jiǎn)易計(jì)算器的功能。點(diǎn)擊關(guān)閉圖標(biāo)可關(guān)閉計(jì)算器。</p><p><b> 5、設(shè)計(jì)體會(huì)與小結(jié)</b></p><p> 通過(guò)這次課程設(shè)計(jì),我了解到j(luò)ava也是可以分工合作的,雖然最
33、后的整合過(guò)程非常麻煩,但是在整合完后,我們發(fā)現(xiàn),課本被翻過(guò)很多遍,很多以前不知道的東西就這樣豁然開朗了。我們還引用了很多從來(lái)沒有用過(guò)的語(yǔ)句塊,大多是從網(wǎng)上找到,然后自己整合進(jìn)入代碼,再實(shí)現(xiàn)我們想要的功能。</p><p> 編程是個(gè)艱難的過(guò)程,很多功能語(yǔ)句都需要上網(wǎng)或者是查其他書籍來(lái)查看他們的用法,課本上的東西對(duì)我們來(lái)說(shuō)遠(yuǎn)遠(yuǎn)不夠,我們要把目光放長(zhǎng)遠(yuǎn)一些。</p><p> 這次的課程設(shè)
34、計(jì)使我對(duì)JAVA的許多東西都有了更深一步的了解,以前對(duì)自己的要求是看得懂就行,現(xiàn)在才發(fā)現(xiàn),光能看懂是遠(yuǎn)遠(yuǎn)不夠的,能看懂并不代表你會(huì)!只有自己真的親身體驗(yàn)到了,才會(huì)知道。</p><p> 這個(gè)禮拜的課程設(shè)計(jì)是這個(gè)學(xué)期最累的一個(gè)禮拜,但是,我們的付出總算有回報(bào),雖然我們的計(jì)算器可能還存在不少的問(wèn)題,但是,至少它可以正常運(yùn)行四則運(yùn)算,基本達(dá)到了我們預(yù)期的要求,所以,這個(gè)禮拜同樣是我最充實(shí)的一個(gè)禮拜。</p&g
35、t;<p><b> 6、參考文獻(xiàn)</b></p><p> [1] 丁振凡,《JAVA語(yǔ)言程序設(shè)計(jì)》,清華大學(xué)出版社.</p><p> [2] 丁振凡,《JAVA語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題解答》,清華大學(xué)出版社.</p><p> [3] 杜春濤,《面向?qū)ο蟪绦蛟O(shè)計(jì)—Java語(yǔ)言》,中國(guó)鐵道出版社.</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)建對(duì)像&
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("簡(jiǎn)單計(jì)算器");</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)聽器事件 通過(guò)按鍵得出結(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() {//編寫具體計(jì)算方法 </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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)----簡(jiǎn)易計(jì)算器
- 高級(jí)語(yǔ)言課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 基于javajdk的簡(jiǎn)易計(jì)算器java課程設(shè)計(jì)
- java課程設(shè)計(jì)---java計(jì)算器
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- java課程設(shè)計(jì)—計(jì)算器
- java課程設(shè)計(jì)計(jì)算器
- java計(jì)算器課程設(shè)計(jì)
- java課程設(shè)計(jì)---計(jì)算器
- java課程設(shè)計(jì)--計(jì)算器
- java課程設(shè)計(jì)計(jì)算器
- 計(jì)算器java課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器
- 簡(jiǎn)易計(jì)算器的設(shè)計(jì)課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告--計(jì)算器設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì) (3)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì) (2)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告
- vb課程設(shè)計(jì)簡(jiǎn)易計(jì)算器
評(píng)論
0/150
提交評(píng)論