資源描述:
《hannoi塔java課程設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2012)Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2012--2013年度第1學(xué)期)Hannoi塔專(zhuān)業(yè)xxxxxxxxxx學(xué)生姓名xxx班級(jí)xxxx學(xué)號(hào)xxxx指導(dǎo)教師徐靜完成日期2012年9月28日1Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2012)目錄目錄21概述31.1課程設(shè)計(jì)目的31.2課程設(shè)計(jì)內(nèi)容32系統(tǒng)需求分析32.1系統(tǒng)目標(biāo)32.2主體功能32.3開(kāi)發(fā)環(huán)境43系統(tǒng)概要設(shè)計(jì)43.1系統(tǒng)的功能模塊劃分43.2系統(tǒng)流程圖44系統(tǒng)詳細(xì)設(shè)計(jì)64.1總體功能設(shè)計(jì)64.2HANNOIWINDOW類(lèi)64.3TOWE
2、R類(lèi)74.4DISC類(lèi)84.5TOWERPOINT類(lèi)84.6HANDLEMOUSE類(lèi)84.7AUTOMOVEDISC類(lèi)95測(cè)試105.1測(cè)試方案105.2測(cè)試結(jié)果106小結(jié)12參考文獻(xiàn)13附錄14附錄1源程序清單143Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2012)學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)1概述1.1課程設(shè)計(jì)目的按課程設(shè)計(jì)指導(dǎo)書(shū)提供的課題,要求學(xué)生在自行完成各個(gè)操作環(huán)節(jié),并能實(shí)現(xiàn)且達(dá)到舉一反三的目的,完成一個(gè)項(xiàng)目解決一類(lèi)問(wèn)題。要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計(jì)和解答類(lèi)似問(wèn)題;對(duì)此能夠較好地理解和掌握,
3、能夠進(jìn)行簡(jiǎn)單分析和判斷;能編寫(xiě)出具有良好風(fēng)格的程序;掌握J(rèn)AVA程序設(shè)計(jì)的基本技能和面向?qū)ο蟮母拍詈头椒?;了解多線程、安全和網(wǎng)絡(luò)等編程技術(shù)。同時(shí)培養(yǎng)學(xué)生進(jìn)行分析問(wèn)題、解決問(wèn)題的能力;培養(yǎng)學(xué)生進(jìn)行設(shè)計(jì)分析、設(shè)計(jì)方法、設(shè)計(jì)操作與測(cè)試、設(shè)計(jì)過(guò)程的觀察、理解和歸納能力的提高。1.2課程設(shè)計(jì)內(nèi)容我設(shè)計(jì)的Hannoi塔,除了要編寫(xiě)的6個(gè)java文件所給出的類(lèi)外,還需要java系統(tǒng)提供的一些重要的類(lèi),如JButton,JCheckBox等。漢諾塔中有三個(gè)座,名字分別為A,B,C。剛開(kāi)始的時(shí)候A塔上有3個(gè)大小不等的盤(pán)子,這些盤(pán)子從座底到座
4、頂按著大小順序依次擺放在A座上。用戶可以用鼠標(biāo)選中盤(pán)子,然后通過(guò)拖動(dòng)鼠標(biāo)來(lái)移動(dòng)盤(pán)子。釋放鼠標(biāo)來(lái)放置該盤(pán)子。程序要求用戶在移動(dòng)盤(pán)子的過(guò)程中,不允許吧大盤(pán)子放置在小盤(pán)子的上面,用戶最終要完成的是把A座上的全部盤(pán)子移動(dòng)到B座或C座上2系統(tǒng)需求分析2.1系統(tǒng)目標(biāo)可以正常運(yùn)行程序,并且按照設(shè)計(jì)目的預(yù)想的完成具體功能。2.2主體功能1)設(shè)計(jì)GUI界面的Hannoi塔。漢諾塔中有三個(gè)座,名字分別為A,B,C。初始狀態(tài)時(shí)A塔上有3個(gè)大小不等的盤(pán)子,這些盤(pán)子從座底到座頂按著大小順序依次擺放在A座上。用戶可以用鼠標(biāo)選中盤(pán)子,然后通過(guò)拖動(dòng)鼠標(biāo)來(lái)
5、移動(dòng)盤(pán)子。釋放鼠標(biāo)來(lái)放置該盤(pán)子。2)程序要求用戶在移動(dòng)盤(pán)子的過(guò)程中,不允許吧大盤(pán)子放置在小盤(pán)子的上面,用戶最終要完成的是把A座上的全部盤(pán)子移動(dòng)到B座或C座上。3)用戶可以通過(guò)Hannoi塔界面的提供的改變盤(pán)子數(shù)目功能來(lái)改變盤(pán)子的數(shù)目,同時(shí)可以改變盤(pán)子的大小以及改變盤(pán)子和界面的背景顏色,而且還可以選擇控制背景音樂(lè)的播放。4)用戶可以通過(guò)單擊Hannoi塔界面上提供的按鈕,讓程序自動(dòng)完成把A座上的盤(pán)子全部移動(dòng)到C座上。23Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2012)5)用戶在移動(dòng)盤(pán)子的過(guò)程中,可以隨時(shí)單擊Hannoi塔界面上提供的
6、按鈕,重新開(kāi)始。2.3開(kāi)發(fā)環(huán)境JAVA程序設(shè)計(jì)語(yǔ)言及相應(yīng)的集成開(kāi)發(fā)環(huán)境,J2SDK和ECLIPSE開(kāi)發(fā)工具。3系統(tǒng)概要設(shè)計(jì)3.1系統(tǒng)的功能模塊劃分1)HannoiWindow.java(主類(lèi))HannoiWindow類(lèi)負(fù)責(zé)創(chuàng)建Hannoi塔的主窗口,該類(lèi)含有main方法,Hannoi塔從該類(lèi)開(kāi)始執(zhí)行。HannoiWindow類(lèi)的成員變量中有五種重要類(lèi)型的對(duì)象、一個(gè)int基本型數(shù)據(jù)和一個(gè)char型數(shù)組。五種類(lèi)型的對(duì)象分別是:Tower、JmenuBar、JmenuItem和Jbutton對(duì)象。HannoiWindow類(lèi)的主要
7、成員的作用將在后面的詳細(xì)設(shè)計(jì)中闡述。2)Tower.javaTower類(lèi)是javax.swing包中Jpanel容器的子類(lèi),創(chuàng)建的容器被添加到HannoiWindow窗口的中心。Tower類(lèi)的成員變量中有四種重要類(lèi)型的對(duì)象、一個(gè)int基本型數(shù)據(jù)和一個(gè)char型數(shù)組。四種類(lèi)型的對(duì)象分別是:Disc、TowerPoint、HandleMouse、和AutoMoveDisc對(duì)象。Tower類(lèi)的主要成員的作用將在后面的詳細(xì)設(shè)計(jì)中闡述。3)Disc.javaDisc類(lèi)是Jbutton的一個(gè)子類(lèi),創(chuàng)建的對(duì)象時(shí)Tower容器中的一個(gè)按鈕
8、,用來(lái)表示Tower中的“盤(pán)子”。4)TowerPoint.javaTowerPoint類(lèi)負(fù)責(zé)在Tower中創(chuàng)建表示位置的塔點(diǎn)對(duì)象。5)HandleMouse.javaHandleMouse類(lèi)創(chuàng)建的對(duì)象負(fù)責(zé)處理鼠標(biāo)事件。6)AutoMoveDisc.javaAutoMoveDisc類(lèi)創(chuàng)建的對(duì)象負(fù)責(zé)自動(dòng)移