資源描述:
《java課程設(shè)計(jì)報(bào)告(漢諾塔)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、東華理工大學(xué)理學(xué)院信計(jì)Java課程設(shè)計(jì)東華理工大學(xué)Java課程設(shè)計(jì)報(bào)告題目:漢諾塔所在院系: 理學(xué)院學(xué)生姓名:漆俊、朱學(xué)曼、顏瑤專業(yè):信息與計(jì)算科學(xué)班級(jí):1223201-2指導(dǎo)老師:黃國輝2014年12月29日-25-東華理工大學(xué)理學(xué)院信計(jì)Java課程設(shè)計(jì)目錄一.概述1.題目概述2.題目分析二.課程設(shè)計(jì)1.課程設(shè)計(jì)目的2.課程設(shè)計(jì)內(nèi)容3.課程設(shè)計(jì)環(huán)境4.課程設(shè)計(jì)要求三.系統(tǒng)需求分析1.系統(tǒng)目標(biāo)2.主體功能3.開發(fā)環(huán)境四.系統(tǒng)概要設(shè)計(jì)1.系統(tǒng)功能模塊劃分2.流程圖3.自定義類說明五.系統(tǒng)詳細(xì)設(shè)計(jì)六.測(cè)試1.測(cè)試方案2.測(cè)試結(jié)果
2、七.小結(jié)八.參考文獻(xiàn)九.程序代碼-25-東華理工大學(xué)理學(xué)院信計(jì)Java課程設(shè)計(jì)一.概述1.題目概述:Hannoi塔:??設(shè)計(jì)GUI界面的Hannoi塔,用戶可以通過拖動(dòng)鼠標(biāo)移動(dòng)各個(gè)塔上的盤子,程序也可以自動(dòng)演示盤子的移動(dòng)過程。設(shè)計(jì)要求1.有三個(gè)表示塔的對(duì)象,分別命名為A、B和C。A塔上有若干個(gè)盤子,盤子的大小不等,并按著大小順序依次擺放在A塔上,大盤在下,小盤在上。用戶可以用鼠標(biāo)拖動(dòng)盤子,把A?塔上的盤子全部移動(dòng)到另外兩個(gè)塔中的任何一個(gè)塔上。要求每次只能移動(dòng)一個(gè)盤子,在任何時(shí)候不允許大盤壓在小盤的上面。2.用戶也可以選擇讓程
3、序自動(dòng)演示。選擇自動(dòng)演示后,程序?qū)⒁詣?dòng)畫形式演示把A塔上的盤子全部移到C塔的過程,并將移動(dòng)過程以文本形式顯示在一個(gè)文本區(qū)中。2.題目分析:(1)在窗口中畫出初始時(shí)塔和碟子的狀態(tài)。(2)可以以自動(dòng)或手動(dòng)兩種方式搬移碟子。(3)自動(dòng)搬移可以通過定時(shí)器或多線程的方法,每一次移動(dòng)的時(shí)間間隔可以自定,以人眼觀察比較舒服為宜,每一次的移動(dòng)過程如能實(shí)現(xiàn)動(dòng)畫最好。(4)定義塔的描述類和碟子的描述類。(5)在程序中,碟子的數(shù)目及每次移動(dòng)的時(shí)間間隔可以通過對(duì)話框設(shè)置(也應(yīng)該有默認(rèn)值)。(6)支持暫停功和繼續(xù)的功能(在自動(dòng)搬移過程中可以暫停,并繼
4、續(xù))。(7)暫停后,可以將當(dāng)前的狀態(tài)保存(碟子和塔的組合關(guān)系)。(8)可以從7中保存的文件中讀出某個(gè)狀態(tài),并繼續(xù)移動(dòng)。二.課程設(shè)計(jì)1.課程設(shè)計(jì)目的《JAVA程序設(shè)計(jì)》是計(jì)算機(jī)相關(guān)專業(yè)的選修專業(yè)基礎(chǔ)課程,其實(shí)踐性、應(yīng)用性很強(qiáng)。實(shí)踐教學(xué)環(huán)節(jié)是必不可少的一個(gè)重要環(huán)節(jié)。本課程的程序設(shè)計(jì)專題實(shí)際是計(jì)算機(jī)相關(guān)專業(yè)學(xué)生學(xué)習(xí)完《JAVA程序設(shè)計(jì)》課程后,進(jìn)行的一次全面的綜合訓(xùn)練,-25-東華理工大學(xué)理學(xué)院信計(jì)Java課程設(shè)計(jì)JAVA程序設(shè)計(jì)的設(shè)計(jì)目的是加深對(duì)理論教學(xué)內(nèi)容的理解和掌握,使學(xué)生較系統(tǒng)地掌握程序設(shè)計(jì)及其在網(wǎng)絡(luò)開發(fā)中的廣泛應(yīng)用,基本
5、方法及技巧,為學(xué)生綜合運(yùn)用所學(xué)知識(shí),利用軟件工程為基礎(chǔ)進(jìn)行軟件開發(fā)、并在實(shí)踐應(yīng)用方面打下一定基礎(chǔ)。1.課程設(shè)計(jì)內(nèi)容我設(shè)計(jì)的Hannoi塔,除了要編寫的6個(gè)java文件所給出的類外,還需要java系統(tǒng)提供的一些重要的類,如JButton,JCheckBox等。漢諾塔中有三個(gè)座,名字分別為A,B,C。剛開始的時(shí)候A塔上有3個(gè)大小不等的盤子,這些盤子從座底到座頂按著大小順序依次擺放在A座上。用戶可以用鼠標(biāo)選中盤子,然后通過拖動(dòng)鼠標(biāo)來移動(dòng)盤子。釋放鼠標(biāo)來放置該盤子。程序要求用戶在移動(dòng)盤子的過程中,不允許吧大盤子放置在小盤子的上面,用
6、戶最終要完成的是把A座上的全部盤子移動(dòng)到B座或C座上。用戶可以通過Hannoi塔界面的提供的改變盤子數(shù)目功能來改變盤子的數(shù)目,同時(shí)可以改變盤子的大小以及改變盤子和界面的背景顏色,而且還可以選擇控制背景音樂的播放。用戶可以通過單擊Hannoi塔界面上提供的按鈕,讓程序自動(dòng)完成把A座上的盤子全部移動(dòng)到C座上。用戶在移動(dòng)盤子的過程中,可以隨時(shí)單擊Hannoi塔界面上提供的按鈕,重新開始。2.課程設(shè)計(jì)環(huán)境硬件要求能運(yùn)行Windows9.X操作系統(tǒng)的微機(jī)系統(tǒng)。JAVA程序設(shè)計(jì)語言及相應(yīng)的集成開發(fā)環(huán)境,J2SDK和ECLIPSE開發(fā)工具
7、。3.課程設(shè)計(jì)要求按課程設(shè)計(jì)指導(dǎo)書提供的課題,要求學(xué)生在自行完成各個(gè)操作環(huán)節(jié),并能實(shí)現(xiàn)且達(dá)到舉一反三的目的,完成一個(gè)項(xiàng)目解決一類問題。要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計(jì)和解答類似問題;對(duì)此能夠較好地理解和掌握,能夠進(jìn)行簡單分析和判斷;能編寫出具有良好風(fēng)格的程序;掌握J(rèn)AVA程序設(shè)計(jì)的基本技能和面向?qū)ο蟮母拍詈头椒?;了解多線程、安全和網(wǎng)絡(luò)等編程技術(shù)。同時(shí)培養(yǎng)學(xué)生進(jìn)行分析問題、解決問題的能力;培養(yǎng)學(xué)生進(jìn)行設(shè)計(jì)分析、設(shè)計(jì)方法、設(shè)計(jì)操作與測(cè)試、設(shè)計(jì)過程的觀察、理解和歸納能力的提高。三.系統(tǒng)需求分析-2
8、5-東華理工大學(xué)理學(xué)院信計(jì)Java課程設(shè)計(jì)1.系統(tǒng)目標(biāo)所設(shè)計(jì)代碼可以正常運(yùn)行程序,并且按照設(shè)計(jì)目的預(yù)想的完成具體功能。2.主體功能(1)設(shè)計(jì)GUI界面的Hannoi塔。Hannoi塔中有三個(gè)座,名字分別是A、B和C。初始狀態(tài)是A座上有五個(gè)大小不等的盤子,這些盤子從座底到座頂按著大小順序依次