計(jì)算器設(shè)計(jì)的java課程設(shè)計(jì)報(bào)告_第1頁(yè)
計(jì)算器設(shè)計(jì)的java課程設(shè)計(jì)報(bào)告_第2頁(yè)
計(jì)算器設(shè)計(jì)的java課程設(shè)計(jì)報(bào)告_第3頁(yè)
計(jì)算器設(shè)計(jì)的java課程設(shè)計(jì)報(bào)告_第4頁(yè)
計(jì)算器設(shè)計(jì)的java課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

華東交通大學(xué)課程設(shè)計(jì)課程設(shè)計(jì)題目:計(jì)算器設(shè)計(jì)課程:Java程序設(shè)計(jì)題目:計(jì)算器設(shè)計(jì)年級(jí):2010級(jí)專業(yè):信息一班學(xué)號(hào):(姓名:組員:指導(dǎo)教師:課程設(shè)計(jì)(論文)任務(wù)書(shū)基礎(chǔ)學(xué)院信息與計(jì)算科學(xué)專業(yè)_班一、課程設(shè)計(jì)(論文)題目計(jì)算器的設(shè)計(jì)二、課程設(shè)計(jì)(論文)工作自2013年6月23日起至2013年6月27日止°三、課程設(shè)計(jì)(論文)地點(diǎn):計(jì)算機(jī)中心四、課程設(shè)計(jì)(論文)內(nèi)容要求:本課程設(shè)計(jì)的目的使學(xué)生掌握系統(tǒng)各功能模塊的基本工作原理;掌握J(rèn)ava的基本編程原理和基本的編程方法;使學(xué)生學(xué)會(huì)系統(tǒng)調(diào)試;培養(yǎng)學(xué)生分析、解決問(wèn)題的能力;提髙學(xué)生的軟件文檔寫(xiě)作能力和團(tuán)隊(duì)合作精神。課程設(shè)計(jì)的任務(wù)及要求基本要求:分析系統(tǒng)各功能模塊的工作原理;提出系統(tǒng)的設(shè)計(jì)方案;對(duì)所進(jìn)行編程、調(diào)試、修改。創(chuàng)新要求:在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如:用虛函數(shù),文件流,重載流插入運(yùn)算符等。課程設(shè)計(jì)論文編寫(xiě)要求要按照書(shū)稿的規(guī)格打印謄寫(xiě)設(shè)計(jì)論文;>論文包括目錄、摘要、正文、總結(jié)等;畢業(yè)論文裝訂按學(xué)校的統(tǒng)一要求完成。答辯與評(píng)分標(biāo)準(zhǔn):達(dá)到課程設(shè)計(jì)的目的與要求,程序的可讀性較好,并調(diào)試正確,60分;能正確回答老師所提問(wèn)題,可增加10分;課程設(shè)計(jì)報(bào)告書(shū)寫(xiě)規(guī)范整齊,可增加10分;心得體會(huì)認(rèn)真總結(jié),可增加10分;程序有創(chuàng)新性,可增加10分;[成績(jī)?cè)u(píng)定實(shí)行優(yōu)秀、良好、中等、及格和不及格五個(gè)等級(jí)。不及格者需重做。參考文獻(xiàn):(1)丁振凡.《Java語(yǔ)言程序設(shè)計(jì)》清華大學(xué)出版社(2)丁振凡.《Java語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題解析》清華大學(xué)出版社(3)//)課程設(shè)計(jì)進(jìn)度安排內(nèi)容天數(shù)地點(diǎn)總體需求與分析構(gòu)思及收集資料1圖書(shū)館<各模塊的編程實(shí)現(xiàn),調(diào)試與修改3機(jī)房撰寫(xiě)論文與答辯1圖書(shū)館,機(jī)房學(xué)生簽名:2013年6月18日課程設(shè)計(jì)(論文)評(píng)審意見(jiàn)|TOC\o"1-5"\h\z(1)態(tài)度評(píng)價(jià)(20分):優(yōu)()、良()、中()、一般()、差();(2)任務(wù)難度(20分):優(yōu)()、良()、中()、一般()、差();(3)設(shè)計(jì)分析(20分):優(yōu)()、良()、中()、一般()、差();(4)創(chuàng)新性評(píng)價(jià)(20分):優(yōu)()、良()、中()、一般()、差();(5)回答問(wèn)題(20分):優(yōu)()、良()、中()、一般()、差();(6)論文格式規(guī)范性及考勤是否降等級(jí):是()、否()評(píng)閱人簽名:職稱:教授2013年6月25日目錄TOC\o"1-5"\h\z第1章系統(tǒng)概要-1-系統(tǒng)介紹-1-基本功能要求-1-第2章設(shè)計(jì)思路與算法-2-應(yīng)用的基本工作流程-2-類設(shè)計(jì)—3—應(yīng)用界面的設(shè)計(jì)-3-事件處理原理、具體設(shè)計(jì)-3-算法考慮-4-第3章源程序代碼-5-第4章運(yùn)行結(jié)果及分析-15-第5章心得體會(huì)-17-系統(tǒng)需要完善的地方-17-課程設(shè)計(jì)感想-17-參考文獻(xiàn)—17—第1章系統(tǒng)概要系統(tǒng)介紹編寫(xiě)一個(gè)簡(jiǎn)易計(jì)算器,實(shí)現(xiàn)Windows計(jì)算器的主要功能。本次課程設(shè)計(jì)就是利用java語(yǔ)言來(lái)編寫(xiě)簡(jiǎn)單計(jì)算器的應(yīng)用程序,模擬Windows計(jì)算器的功能,能進(jìn)行加、減、乘、除四則算術(shù)運(yùn)算和求倒數(shù)、求平方根等簡(jiǎn)單函數(shù)運(yùn)算,且有小數(shù)點(diǎn)、清零和存儲(chǔ)等功能。基本功能要求通過(guò)計(jì)算器的設(shè)計(jì),掌握J(rèn)ava編程的基本知識(shí)點(diǎn)。掌握基于AWT的圖形用戶界面的設(shè)計(jì),如常用的的布局設(shè)計(jì),容器中面板、按鈕、文本框等組件的添加和布局。掌握?qǐng)D形界面的事件處理方法,注冊(cè)動(dòng)作事件監(jiān)聽(tīng)者。掌握各類功能的實(shí)現(xiàn)思路,及程序表達(dá)。熟悉實(shí)例變量、類變量與局部變量的差異。掌握方法的封裝與調(diào)用。盡量將重復(fù)用到的一段功能設(shè)計(jì)為方法。掌握if和switch等語(yǔ)句的使用。掌握如何給按鈕設(shè)置顏色及給頁(yè)面背景設(shè)計(jì)顏色。掌握java中“對(duì)象”和“類”的知識(shí),類的設(shè)計(jì)及成員的控制訪問(wèn)第2章設(shè)計(jì)思路與算法應(yīng)用的基本工作流程打開(kāi)命令提示符和記事本;輸入源程序代碼;保存并運(yùn)行源程序;運(yùn)行,檢查是否有誤;修改錯(cuò)誤并再次運(yùn)行;測(cè)試計(jì)算器的工作狀況。類設(shè)計(jì)本次計(jì)算器的設(shè)計(jì),主要用到的是GUI編程的相關(guān)方法。所以我們所用到的類和方法主要有:主類:Calculation類繼承的父類為WindowAdapter類,實(shí)現(xiàn)了ActionListener接口,定義了一個(gè)窗體f和多個(gè)面板,按鈕和文本框。方法名:display方法作用:構(gòu)建計(jì)算器的主界面在方法display中,定義了窗體的標(biāo)題,設(shè)置了窗體的大小并通過(guò)setVisible(true)方法使窗體可見(jiàn),setBackground()方法設(shè)置背景顏色,setResizable(false)方法使窗體大小不可變。用setLayout()方法給容器指定按BorderLayout布局排列部件:通過(guò)容器的add()方法將面板放置在North區(qū)域:(p5,,通過(guò)add方法用來(lái)向面板中加入部件。添加GUI部件并給各個(gè)部件各自不同的標(biāo)識(shí),創(chuàng)建中間面板時(shí),如面板p1,p1=newPanel(newGridLayout(1,3,5,5)),設(shè)置為GridLayout布局,再用add方法把按鈕都加進(jìn)去,按(1,3,5,5)方式排列通過(guò)按鈕對(duì)象的addActionListener方法為其注冊(cè)事件監(jiān)聽(tīng)處理者。方法名:actionPerformed方法作用:設(shè)置各個(gè)GUI部件的事件處理在actionPerformed方法中,分別設(shè)置了不同按鈕的操作事件,當(dāng)不同按鈕單擊發(fā)生動(dòng)作時(shí)自動(dòng)調(diào)用執(zhí)行相應(yīng)的動(dòng)作,從而實(shí)現(xiàn)計(jì)算器的多種運(yùn)算功能。通過(guò)()獲得按鈕事件對(duì)象的命令名,再在if語(yǔ)句中根據(jù)操作命令符按情況分別處理事件,進(jìn)行相應(yīng)運(yùn)算。通過(guò)setText()方法將結(jié)果轉(zhuǎn)化為數(shù)字串寫(xiě)入文本輸入框中。事件監(jiān)聽(tīng)器中的事件處理方法voidactionPerformed(ActionEvente)完成主要的按鈕事件的處理。事件處理分以下幾種情況:數(shù)字按鈕事件“0”,“1”,“2”,“3”??“8”,“9”),小數(shù)點(diǎn)按鈕事件(“.”),運(yùn)算符按鈕處理事件(“+”,“-”,“*”,“/”),正負(fù)號(hào)按鈕事件(“+/-”),退格按鈕事件(“Backspace”),清除按鈕事件(“C”),等號(hào)按鈕事件(“二”),存儲(chǔ)按鈕事件(“MS”,“MC”,“MR”,“M+”)等。方法名:main方法在該方法中,通過(guò)new運(yùn)算符創(chuàng)建一個(gè)類Calculation的對(duì)象Cal,通過(guò)調(diào)用display()方法。方法名:windowClosing方法在該方法中,在處理窗體的“關(guān)閉”事件的監(jiān)聽(tīng)者采用繼承WindowsAdapter的方式。應(yīng)用界面的設(shè)計(jì)參考了windows計(jì)算器的布局,我們把總體界面采用BorderLayout布局,文本框所在的面板p5位于最上方(North區(qū)域),存儲(chǔ)按鈕及顯示M狀態(tài)文本框所在的面板p3在最左邊(West區(qū)域),而B(niǎo)ackspace,CE,C所在的面板pl和數(shù)字按鈕、運(yùn)算符按鈕等所在面板p2放置在面板p4中,面板p4統(tǒng)一分布在中央(Center區(qū)域),同時(shí)面板中又按GridLayout布局分布多行多列。具體如下圖所示。念計(jì)算雪ornirxo.TOC\o"1-5"\h\zElacksp機(jī)E|CE|0MC7|E|g||sqrt|MR4|5|百|(zhì)古|抵|陽(yáng)|1|2|M|-|飾|ZT胃oj+“I+IJ事件處理原理、具體設(shè)計(jì)首先,對(duì)計(jì)算器的整體布局構(gòu)思清楚,將整個(gè)計(jì)算器分成多行多列組成的單元,使得整個(gè)計(jì)算器的布局更加合理、有序。采用網(wǎng)格塊布局,整體分為6行,第一行為輸入及顯示框,第二行為退格鍵和清零鍵,下面幾行分別為數(shù)字按鈕與運(yùn)算符按鈕,以及MC,MR,MS,M+等存儲(chǔ)按鈕。第二,設(shè)計(jì)依次添加GUI部件。第三,為各個(gè)部件注冊(cè)監(jiān)聽(tīng)者,考慮到數(shù)字鍵,運(yùn)算符,等于,小數(shù)點(diǎn),求平方根等的不同以及程序的調(diào)理清晰,我們分別為其設(shè)置了不同的監(jiān)聽(tīng)者。第四,設(shè)置相應(yīng)的各類算法。第五,設(shè)置主程序和退出方法。在編寫(xiě)完源程序代碼后,進(jìn)行運(yùn)行,發(fā)現(xiàn)錯(cuò)誤并更正。最后,測(cè)試制作的計(jì)算器運(yùn)行狀況即計(jì)算能力。

動(dòng)作事件的各方關(guān)系,結(jié)合代碼大致如下圖所示:算法考慮在actionPerformed方法中,分別設(shè)置了不同按鈕的操作事件,當(dāng)不同按鈕單擊發(fā)生動(dòng)作時(shí)自動(dòng)調(diào)用執(zhí)行相應(yīng)的動(dòng)作,從而實(shí)現(xiàn)計(jì)算器的多種運(yùn)算功能。數(shù)字按鈕與其他按鈕作為事件源都注冊(cè)了監(jiān)聽(tīng)者,且監(jiān)聽(tīng)者符合ActionListener接口的要求。數(shù)據(jù)與運(yùn)算符的鍵入通過(guò)點(diǎn)擊按鈕來(lái)觸發(fā)事件,在按下“=”按鈕時(shí)通過(guò)調(diào)用之前按下的相應(yīng)運(yùn)算符所表示的運(yùn)算函數(shù)進(jìn)行運(yùn)算,將所的結(jié)果保存在dResult中,并顯示在文本框內(nèi)。求平方根、求倒數(shù)等運(yùn)算時(shí),調(diào)用了Math類的方法進(jìn)行運(yùn)算。當(dāng)輸入小數(shù)時(shí),將小數(shù)點(diǎn)拼接到數(shù)字串中。按下清除按鈕時(shí),變量初始化。第3章源程序代碼importclassCalculationextendsWindowAdapterimplementsActionListener{doubledResult=0;doubledNowInput=0;doubledMemory;;(false);;bNegative=newButton("+/-");(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(b7);ength()==1&&()pareTo("0")>=0&&()pareTo("9")<=0){if{=0;=false;}++;if==false)=*10+());else{doubletemp=());for(inti=;i<0;i++){temp*=;}+=temp;;}{if==false){++;=true;=-1;}};}}辿計(jì)算春I}辿計(jì)算春I二I反I除數(shù)不能為零品訊“庶|CE|CMC了|呂|9|『|列rt|MR4||6||怕|MS|1|2|?|-|愉|斛I"oi+卜ii+1[三]i蛋計(jì)算畚蛋計(jì)算畚nrxi計(jì)算雪口問(wèn)反

到的不能對(duì)類似5+6*3的運(yùn)算判斷運(yùn)算順序。程序比較長(zhǎng),還可以進(jìn)行簡(jiǎn)化。對(duì)于運(yùn)算方法等方面仍可以進(jìn)行一些改進(jìn)。這界面還可設(shè)有菜單操作(包括:“編輯”,“查看”,“幫助”三個(gè)菜單項(xiàng))課程設(shè)計(jì)感想本計(jì)算器模擬Windows計(jì)算器的界面和功能,由于時(shí)間倉(cāng)促和能力有限等問(wèn)題,只能實(shí)現(xiàn)以上功能。本次課程設(shè)計(jì)到此算是告一段落了,經(jīng)過(guò)這次的學(xué)習(xí),我學(xué)到了很多東西,在此基礎(chǔ)上更加鞏固了自己對(duì)java的認(rèn)識(shí)與了解。在做本項(xiàng)目是時(shí)候,會(huì)遇到很多小問(wèn)題,比如說(shuō),在整個(gè)運(yùn)算過(guò)程中要如何確保輸入的計(jì)算數(shù)據(jù)哪個(gè)是第一個(gè)計(jì)算數(shù)據(jù)的,哪個(gè)是第二個(gè)計(jì)算數(shù)據(jù)的,同時(shí)也要區(qū)分運(yùn)算符,因?yàn)樵撚?jì)算器程序應(yīng)用的都是利用字符串來(lái)完成計(jì)算的,而且不能重復(fù)輸出運(yùn)算符,更不能將運(yùn)算符錯(cuò)誤的存儲(chǔ)在了第一個(gè)計(jì)算數(shù)據(jù)的數(shù)值中,也得考慮到萬(wàn)一不小心重復(fù)點(diǎn)擊了運(yùn)算符按鈕會(huì)不會(huì)造成第一個(gè)計(jì)算數(shù)據(jù)的重新賦值等等問(wèn)題,最后想到利用布爾類型來(lái)很好的控制運(yùn)算符的應(yīng)用!此次課程設(shè)計(jì)讓我更了解熟悉了Java中的圖形用戶界面和它的編程方式。在完成課題的過(guò)程中也不斷充實(shí)了自己,學(xué)習(xí)到了很多以前沒(méi)有學(xué)習(xí)到的知識(shí),收獲很大。最大的收獲就是對(duì)大學(xué)學(xué)習(xí)的總結(jié)和培養(yǎng)了解決困難的信心和能力,使我對(duì)所學(xué)知識(shí)能夠融會(huì)貫通,又不斷豐富了新知識(shí)。Java計(jì)算器設(shè)計(jì)使得我們對(duì)所學(xué)的專業(yè)課有了更為深刻的認(rèn)識(shí),使得知識(shí)得到了鞏固和提高。在以前,我們只是對(duì)書(shū)上已經(jīng)給出的程序進(jìn)行編譯和運(yùn)行,而這次我們算是真正自己編寫(xiě)了一個(gè)程序(雖然參考了書(shū)上的程序),覺(jué)得自己對(duì)于java的應(yīng)用得到了很大的提高,也體會(huì)到了編寫(xiě)一個(gè)程序是一個(gè)十分艱辛的過(guò)程,需要不斷的調(diào)試,改進(jìn),以及小組成員的努力思考。在制作簡(jiǎn)易計(jì)算器的過(guò)程中,很容易打錯(cuò)源程序代碼而導(dǎo)致編譯通不過(guò)。這是一個(gè)細(xì)心程度的問(wèn)題,做什么事都必

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論