java程序設(shè)計論文_第1頁
java程序設(shè)計論文_第2頁
java程序設(shè)計論文_第3頁
java程序設(shè)計論文_第4頁
java程序設(shè)計論文_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微波爐模擬應(yīng)用程序設(shè)計與實踐班級:軟件技術(shù) (1) 班學(xué)號:201015040102 姓名:* 指導(dǎo)教師:張海波2011 年 06 月 06 日目 錄一、應(yīng)用程序功能需求分析. 3 二、程序設(shè)計主要部分源代碼及功能實現(xiàn) .4 三、學(xué)習(xí)心得與收獲 .10 很長時間以來我一直困惑不已,為什么一些又貴又先進的東西會一點用都沒有。直到我突然想起, 計算機 不就是一臺愚蠢之至卻擁有難以置信的做聰明事能力的機器嘛,而程序員不就是聰明絕頂卻擁有難以置信的干蠢事的能力的人嘛。一句話,他們簡直就是天生絕配。2應(yīng)用程序功能需求分析聯(lián)想現(xiàn)實生活中用到的微波爐,將它的工作原理用應(yīng)用程序來模擬實現(xiàn)。這個微波爐模擬應(yīng)用程

2、序?qū)粋€允許用戶設(shè)定微波爐烹調(diào)時間的小鍵盤,同時顯示相應(yīng)的烹調(diào)時間,當(dāng)輸入某個時間后,用戶可以通過點擊 start jbutton來啟動整個烹調(diào)過程。此時,微波爐上的玻璃窗將改變顏色 (由灰色變?yōu)辄S色),從而模擬食物烹調(diào)過程中微波爐內(nèi)的燈光顏色, 相應(yīng)的定時器也將按每次一秒的速度進行遞減。當(dāng)時間終止時,該微波爐的玻璃會再次返回到灰色狀態(tài)(表示微波爐已停止工作) , 然后,顯示文本“done! ” 。 用戶可在任何時刻通過點擊clear jbutton停止微波爐的工作,然后再重新輸入一個新時間。注意,用戶所輸入的分鐘數(shù)不能超過59,秒數(shù)也不能超過59;否則,任何無效的烹調(diào)時間都將被重置為零。

3、將要創(chuàng)建的應(yīng)用程序是一個允許用戶輸入烹調(diào)時間的微波爐模擬程序。為處理時間數(shù)據(jù),需要創(chuàng)建一個稱之為cookingtime 的類。此類用于存儲分鐘數(shù)及秒數(shù) (微波爐模擬應(yīng)用程序通過它們記錄剩余的烹調(diào)時間)。為使應(yīng)用程序能夠訪問和改變分鐘數(shù)及秒數(shù),還將為該類提供相應(yīng)的 get方法和 set方法。3 程序設(shè)計主要部分源代碼及功能實現(xiàn)微波爐模擬應(yīng)用程序通過使用jpanel組件將其內(nèi)部的組件組織了起來。該應(yīng)用程序需要兩個jpanel 一個組織該應(yīng)用程序中的jbutton和 jtextfield,另一個則代表微波爐的玻璃窗。相應(yīng)的模板應(yīng)用程序已提供了其中的一個jpanel , 我們只需添加另外的一個jpan

4、el 。微波爐模擬應(yīng)用程序中含有一個存儲時間(包括分鐘和秒)的對象,此對象出自一個烹調(diào)時間類(類名為cookingtime) 。在創(chuàng)建微波爐這個類之前要先創(chuàng)建cookingtime 類。用戶是通過點擊數(shù)字jbutton來完成輸入的。每當(dāng)一個數(shù)字 jbutton被點擊時,該 jbutton 上的數(shù)字將追加至gui 中用于顯示烹調(diào)時間的那個 jtextfield的末尾。在輸入完烹調(diào)時間以后,可通過點擊start jbutton啟動烹調(diào)過程,或者是點擊clear jbutton重新輸入一輪新的時間。如果點擊的是start jbutton,那么將利用 timer 組件開啟倒計時功能,同時微波爐窗口也將

5、變?yōu)辄S色,說明該微波爐的燈光已經(jīng)打開(方便用戶觀察所烹調(diào)的食物) 。每隔一秒鐘,會更新剩余烹調(diào)的時間的顯示。當(dāng)?shù)箶?shù)計時結(jié)束時,會在displayjtextfield中顯示出文本“done!,而微波爐內(nèi)的“燈光”也將通過窗口變?yōu)槟J的灰色,表明微波爐已經(jīng)關(guān)閉。當(dāng)點擊其中任何一個數(shù)字jbutton時,都會將輸入發(fā)送至應(yīng)用程序中,而輸入的數(shù)字值也將顯示在displayjtextfield中。一旦輸入所有數(shù)據(jù),便可通過點擊start jbutton 4 開啟倒計時。windowjpanel的背景色將被設(shè)置為黃色,從而模擬已經(jīng)打開的微波爐燈光,而 clocktimer 將在倒計時的過程中, 以每隔 1

6、秒的速度更新 displayjtextfield中的內(nèi)容。為了能清除原先的輸入并重新啟動微波爐,可以通過點擊clear jbutton來實現(xiàn)。代表微波爐的玻璃窗(烹調(diào)時顯示黃色,停止工作時為灰色);顯示時間和微波爐工作狀態(tài);輸入烹調(diào)時間的數(shù)字jbutton;控制微波爐工作狀態(tài)。1.定義一個 cookingtime 類,設(shè)置儲存分秒信息的實例變量。public class cookingtime private int minute; private int second; 對象初始化,定義一個構(gòu)造方法。5 public cookingtime( int minutevalue, int sec

7、ondvalue ) setminute( minutevalue ); setsecond( secondvalue ); 2. 當(dāng)設(shè)置分鐘時,如果分鐘數(shù)大于0 且小于 60,將分鐘數(shù)設(shè)置為指定值;否則,將分鐘數(shù)歸零。public void setminute( int value ) if ( value = 0 & value 0 ) setsecond( getsecond() - 1 ); else if ( getminute() 0 ) setminute( getminute() - 1 ); setsecond( 59 ); 4. 控制成員的訪問。 private i

8、nt minute; private int second; 7 表示該變量只能被cookingtime 類的成員所訪問。5. 設(shè)定 clocktimer 的延遲。clocktimer = new timer( 1000, timeractionlistener ); 6. 啟動烹調(diào)過程。開啟定時器并打開“燈光” ,以表明微波爐正在烹調(diào)。 timetodisplay = ; clocktimer.start(); windowjpanel.setbackground( color.yellow ); 7. 執(zhí)行過程中,時間遞減。 microwavetime.tick(); if ( !micr

9、owavetime.isdone() ) displayjtextfield.settext( timeformat.format( microwavetime.getminute() ) + : + timeformat.format( microwavetime.getsecond() ) ); 8 8. 烹調(diào)過程終止。else clocktimer.stop(); displayjtextfield.settext( done! ); windowjpanel.setbackground( new color( 222, 222, 222 ) ); 通過使用一個屬于程序員定義的類(coo

10、kingtime 類) ,創(chuàng)建一個微波爐模擬器, 并為定義的類添加了一個構(gòu)造方法、一些實例變量以及兩對 get 方法和 set 方法,通過構(gòu)造方法, 可以完成實例變量的初始化操作。對于每一個實例變量來說, 定義相應(yīng)的 get 方法和 set 方法,可實現(xiàn)對該實例變量的安全訪問及修改操作。利用所定義的類及其方法,創(chuàng)建一個cookingtime 對象。通過使用cookingtime 類中定義的方法,訪問并顯示出了一個可由用戶指定的微波爐烹調(diào)時間 (包括分和秒)。另外利用 jpanel 模擬出了該微波爐的玻璃門。9 學(xué)習(xí)心得與收獲通過此項目,主要學(xué)到了聲明一個屬于自己的類,創(chuàng)建并使用屬于自己類的對象

11、,控制實例變量的訪問,get方法與 set方法的定義。做項目就是要認真,教材上講解的非常詳細,萬事都得靠自己專研,還要多與同學(xué)交流經(jīng)驗, 學(xué)會創(chuàng)新,最快的方式就是以讀程度的方式學(xué)習(xí)! 1. 態(tài)度第一擺正自己的心態(tài),不要以為什么東西上網(wǎng)搜搜就可以了,一定要有自己的東西。 只有自己付出過, 當(dāng)程序運行成功時的那種喜悅才會令自己有一種莫名的自豪感。態(tài)度決定一切!2. 興趣是關(guān)鍵我的學(xué)習(xí)完全是興趣導(dǎo)向的,所以壓力并不大。因為有興趣,所以我會很想充分理解一切細節(jié)。又因為理解, 所以許多原本片片斷斷的知識都可以漸漸互相融會貫通,累積技術(shù)能量, 理論和實務(wù)之間的藩籬被打破了,學(xué)習(xí)效率倍增。學(xué)習(xí)并快樂著!3. 敢于挑戰(zhàn)不安于現(xiàn)成的程序,要敢于用多種方法實現(xiàn)一個目的。現(xiàn)在的網(wǎng)10 絡(luò)科技很發(fā)達,想要一個源程序的確很簡單,所以很多人都是在自己都不明白題目要求時, 就可以在網(wǎng)上搜到一模一樣的代碼,根本沒有自己的東西。 挑戰(zhàn)自我是項艱巨的任務(wù)。 只有堅持自己多看代碼多寫程序才會有

溫馨提示

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

最新文檔

評論

0/150

提交評論