影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

Java語言課程設(shè)計任務(wù)書及題目(tcl)

上傳人:xins****2008 文檔編號:126858593 上傳時間:2022-07-29 格式:DOC 頁數(shù):26 大?。?65KB
收藏 版權(quán)申訴 舉報 下載
Java語言課程設(shè)計任務(wù)書及題目(tcl)_第1頁
第1頁 / 共26頁
Java語言課程設(shè)計任務(wù)書及題目(tcl)_第2頁
第2頁 / 共26頁
Java語言課程設(shè)計任務(wù)書及題目(tcl)_第3頁
第3頁 / 共26頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《Java語言課程設(shè)計任務(wù)書及題目(tcl)》由會員分享,可在線閱讀,更多相關(guān)《Java語言課程設(shè)計任務(wù)書及題目(tcl)(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、Java語言課程設(shè)計任務(wù)書及題目 一、 Java語言課程設(shè)計目的和要求 1、目的: Java語言程序設(shè)計課程是一門實踐性很強的課程。 JAVA課程設(shè)計以軟件工程的思想為導(dǎo)向,從可行性研究開始,經(jīng)過系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施等主要階段的過程,通過課程設(shè)計可以培養(yǎng)學(xué)生綜合運用理論知識,解決工程實際問題,受到系統(tǒng)軟件設(shè)計的初步訓(xùn)練。是鞏固學(xué)生所學(xué)理論知識、培養(yǎng)學(xué)生動手能力并使理論與實際相結(jié)合的重要實踐環(huán)節(jié)。提高和訓(xùn)練學(xué)生面向?qū)ο蟮木幊棠芰Α1菊n程設(shè)計的目的是通過學(xué)生用Java語言設(shè)計一個完整的應(yīng)用程序,使學(xué)生綜合應(yīng)用所學(xué)知識完成軟件的分析、設(shè)計、調(diào)試和總結(jié),可加深和鞏固對理論教學(xué)

2、和實驗教學(xué)內(nèi)容的掌握,使學(xué)生進(jìn)一步掌握所學(xué)的面向?qū)ο蠹夹g(shù)完整系統(tǒng)開發(fā)的方法。培養(yǎng)其靈活運用所掌握的Java語言的綜合應(yīng)用能力解決實際工程問題的能力、項目開發(fā)中團隊合作精神、創(chuàng)新意識,養(yǎng)成良好的編程習(xí)慣。 2、要求: 本次課程設(shè)計是對前面學(xué)過的所有面向?qū)ο蟮木幊趟枷胍约熬幊谭椒ǖ囊粋€總結(jié)、回顧和實踐,因此,開始設(shè)計前學(xué)生一定要先回顧以前所學(xué)的內(nèi)容,明確本次作業(yè)設(shè)計所要用到的技術(shù)點并到網(wǎng)上搜索以及查閱相關(guān)的書籍來搜集資料。通過編寫一個基于JAVA的應(yīng)用系統(tǒng)綜合實例,來掌握J(rèn)ava語言編程技巧。 1)對系統(tǒng)進(jìn)行功能模塊分析、控制模塊分析正確,符合課題要求,實現(xiàn)相應(yīng)功能;可以加以其他功能

3、或修飾,使程序更加完善、合理; 2)系統(tǒng)設(shè)計要實用,編程簡練,可用,功能全面 3)說明書、流程圖要清楚 4)記錄設(shè)計情況(備查,也為編寫設(shè)計說明書作好準(zhǔn)備); 5)要求采用模塊化程序設(shè)計方法,及鋸齒型書寫格式,要求上機調(diào)試通過和按設(shè)計報告格式。( 界面要求:盡量使用圖形界面實現(xiàn),要符合日常軟件使用規(guī)范來設(shè)計菜單和界面。如果無法實現(xiàn)圖形界面,則在命令行方式下也需要提供菜單,方便用戶操作。代碼要求:標(biāo)識符命名遵循java命名規(guī)范。能夠考慮各種異常處理,注重提高程序運行效率。) 6)設(shè)計上交內(nèi)容:設(shè)計報告一份(按格式書寫);源程序文件。 3、課程設(shè)計步驟 1)分析項目要求: 每個課程

4、設(shè)計項目都有其相關(guān)的設(shè)計要求,其中對項目實現(xiàn)的功能做了詳細(xì)定義。如果某些知識面掌握的不是很好,可以再返回去重新熟悉與掌握。 2)自學(xué)新知識:每個課程設(shè)計項目都涉及一些新的知識面(老師沒有在課堂上講解的內(nèi)容),在開始設(shè)計前,首先要查閱相關(guān)資料,學(xué)習(xí)和掌握項目中涉及的新知識,提高自學(xué)能力。 3)界面設(shè)計:本次課程設(shè)計都是圖形界面程序,所以在實現(xiàn)程序功能前,可以先完成圖形界面設(shè)計(建議采用swing組件或第三方swt組件)。在部分項目運行效果示例中,抓取了運行結(jié)果界面。項目圖形界面所涉及了容器、組件、布局知識,在設(shè)計圖形界面前,可以再回顧下以上知識(建議采用較智能的開發(fā)工具如:Netbean、e

5、clipse、Jbuilder等)。 4)項目功能實現(xiàn):每種功能其實就是相應(yīng)控件的響應(yīng)事件,所以要根據(jù)課程設(shè)計要求把各種功能轉(zhuǎn)換成相應(yīng)組件的響應(yīng)事件。如動作事件(ActionEvent)、鍵盤事件(KeyEvent)、鼠標(biāo)事件(MouseEvent)、焦點事件(FocusEvent)。對于比較復(fù)雜的功能,先要設(shè)計該功能實現(xiàn)的算法和程序流程圖,然后再用程序語句去實現(xiàn)。 5)項目測試與擴展:項目程序設(shè)計完以后,運行該項目,一一測試所有項目功能,如有不合要求的話,重新修改程序以達(dá)到項目要求。如有時間的話,可以在項目要求的基礎(chǔ)上擴展創(chuàng)新一些功能,根據(jù)其創(chuàng)新情況可以給予適當(dāng)?shù)募臃帧? 二、Ja

6、va語言課程設(shè)計選題如下: 1、課題:算術(shù)運算測試 功能要求:該程序用字符界面實現(xiàn)十道100以內(nèi)加減法數(shù)學(xué)題,能根據(jù)題目計算出答案,與輸入答案對比,判斷做題是否正確,最后計算分?jǐn)?shù)。 界面要求:用字符界面實現(xiàn)、也可用圖形界面實現(xiàn)。 2、課題:猜數(shù)游戲 功能要求:計算機產(chǎn)生隨機數(shù),猜中即勝,猜不中,提示是大了還是小了,繼續(xù)猜,直至猜到,給出所用時間和評語。 界面要示:用字符界面實現(xiàn)、也可用圖形界面實現(xiàn)。 3、學(xué)生成績管理 功能要求: 1) 輸入十個同學(xué)的學(xué)號,姓名,四科成績(應(yīng)用數(shù)學(xué)、大學(xué)英語、Java程序設(shè)計、計算機應(yīng)用基礎(chǔ)) 2) 計算出平均成績。以平均成績降序輸出成績表。

7、 3) 輸出全組各科平均分,最高分和最低分。 4) 輸入姓名查詢成績 界面要示:用字符界面實現(xiàn)、也可用圖形界面實現(xiàn)。 4、計算器模擬程序 功能要求:該程序顯示GUI用戶界面,能實現(xiàn)整數(shù)的加、減、乘、除四則運算。 界面要示:用圖形界面實現(xiàn)??蓞⒖枷聢D。 圖1 計算器模擬程序界面 5、畫隨機的圓 功能要求:實現(xiàn)簡單的動畫。具體要求:自動出現(xiàn)由小到大變換的圓,位置與顏色隨機,變到150直徑時擦除,重新再出現(xiàn)圓;變換速度有HTML文件傳入的參數(shù)控制(控制sleep時間)。 界面要求:用Java Applet實現(xiàn)。 6、用菜單和按鈕來控制繪圖 功能要求:實現(xiàn)簡單繪圖功能,具體

8、要求:畫直線,畫空心或?qū)嵭臋E圓、畫空心或?qū)嵭木匦?、畫多邊形(圖形的位置和大小可在程序中設(shè)定)。 界面要求:用圖形界面實現(xiàn)??蓞⒖紙D2、圖3和圖4。 圖2 初始界面 圖3 使用菜單繪圖 圖5 使用按鈕繪圖 三、設(shè)計時間 一周,具體安排如下: 第一階段: 1.班級分組,選定課題,查閱相關(guān)資料 1天 2.劃分模塊、小組成員分工,編制源程序 3天 第二階段:上機調(diào)試,修改、完善系統(tǒng) 2天 第三階段:撰寫、上交課程設(shè)計說明書(1份/人),

9、上交課程設(shè)計作品源程序(每課題組一份),作品答辯。 1天 四、設(shè)計方式和安排 1. 分組選題:最多3人為一組(盡量一人一題),每組一個課題(可根據(jù)課題工作量大小,合理分配人數(shù)),每組設(shè)組長一名,負(fù)責(zé)該組設(shè)計工作的協(xié)調(diào)、分工等。 2. 設(shè)計過程: 1) 分析設(shè)計準(zhǔn)備階段(按組討論、對系統(tǒng)功能進(jìn)行分析,確定算法,并進(jìn)行明確分工); 2) 編程調(diào)試階段(繪制流程圖,編制源程序;上機調(diào)試,修改程序) 3) 總結(jié)報告和書寫說明書階段(撰寫上交相關(guān)資料) 。 五、考核內(nèi)容和方式 1、在設(shè)計期間,學(xué)生要按時上機,設(shè)計結(jié)束根據(jù)記錄的設(shè)計材料整

10、理成設(shè)計說明書。設(shè)計說明書中應(yīng)寫下設(shè)計中的主要收獲,要求對問題有一定的分析,文字簡短明確流暢。 2、通過設(shè)計答辯方式,并結(jié)合學(xué)生的動手能力,獨立分析解決問題的能力和創(chuàng)新精神,設(shè)計成績由指導(dǎo)教師根據(jù)考勤、設(shè)計說明書質(zhì)量、答辯表現(xiàn)以及學(xué)習(xí)態(tài)度按五級分制綜合評定。 成績分優(yōu)、良、中、及格和不及格五等。 其他參考題目: 1、編寫一個記事本程序 要求: 用圖形用戶界面實現(xiàn)。 能實現(xiàn)編輯、保存、另存為、查找替換等功能。 提示:使用文件輸入輸出流。 2、模擬龜兔賽跑 要求: 用圖形用戶界面實現(xiàn)。 能設(shè)置比賽時間,馬匹的數(shù)量等等。 在任意時間段內(nèi)馬匹的速度是隨

11、機的。 開始比賽之后以動畫顯示賽馬過程。 提示:使用多線程 3、學(xué)生信息管理系統(tǒng) 要求: 使用圖形用戶界面 用數(shù)據(jù)庫建立1或2個學(xué)生信息表。(不限使用哪種數(shù)據(jù)庫) 能連接數(shù)據(jù)庫并實現(xiàn)查詢、增、刪、改等功能。 4、圖書信息管理系統(tǒng) 要求: 使用圖形用戶界面 用數(shù)據(jù)庫建立1或2個圖書信息表。(不限使用哪種數(shù)據(jù)庫) 能連接數(shù)據(jù)庫并實現(xiàn)查詢、增、刪、改等功能。 5、聊天小程序 要求: 使用圖形用戶界面。 能實現(xiàn)一個聊天室中多人聊天。 可以兩人私聊。 提示:使用socket通信 6、ATM柜員機模擬程序 要求:使用圖形用戶界面。當(dāng)輸入給定的卡號和

12、密碼(初始卡號和密碼為123456)時,系統(tǒng)能登錄ATM柜員機系統(tǒng),用戶可以按照以下規(guī)則進(jìn)行: 1、查詢余額:初始余額為10000元 2、ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。 3、ATM存款:不能出現(xiàn)負(fù)存款。 4、修改密碼:新密碼長度不小于6位,不允許出現(xiàn)6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。 7、超市收銀系統(tǒng) 要求:使用圖形用戶界面。 由收銀員輸入顧客的會員卡卡號(若有卡)、所購商品的貨號等。從數(shù)據(jù)庫中取出有關(guān)價格信息,再把這些信息返回給收銀臺。同時把該收銀臺的銷售總量和

13、有關(guān)種類商品的剩余量以及該持卡顧客的消費情況交數(shù)據(jù)庫存儲以供查詢。 另外,對沒有卡的消費情況不記錄該顧客的消費情況等個人信息。如果一個未持卡顧客一次購物滿200元,可為其發(fā)放一張會員卡,以后在該商場購物可向9折優(yōu)惠。 8、萬年歷 要求: 使用圖形用戶界面。 實現(xiàn)日期與星期的查詢 9、網(wǎng)絡(luò)監(jiān)聽程序 要求: 使用圖形用戶界面。 有服務(wù)器和客戶端,服務(wù)器監(jiān)聽客戶端的登陸。即:如果A客戶端登陸服務(wù)器,則服務(wù)器界面上的A字母對應(yīng)的紅燈變成綠色。 綠燈表示連接,紅燈表示斷線。 提示:socket的監(jiān)聽方法 10、全球通計費程序 要求: 使用圖形用戶界面。 使用真實

14、的全球通資費標(biāo)準(zhǔn),模擬統(tǒng)計一個特定號碼的一個月的實時話費。 能根據(jù)輸入實現(xiàn)各種用戶的話費的計算并顯示月實時帳單。 提示:使用接口和多個子類實現(xiàn)分別表示金卡、銀卡等各種套餐的話費計算。 11.日歷記事本 要求:帶有日程提醒功能的日歷。 1、顯示信息:用戶可以向前翻頁查詢前一個月的日期,也可以向后翻頁查詢下一個月的日期。 2、定時提醒:用戶可以針對某一天來添加,刪除和編輯這一天的日程提醒信息,當(dāng)系統(tǒng)時間和提醒時間相吻合時,給出具有提示信息的對話框。 3、查詢信息:用戶可以查詢到某個月的所有的提示信息。 12.電子英漢詞典 要求: 能夠編輯詞典庫中的信息 能夠?qū)崿F(xiàn)英譯漢

15、,漢譯英。(要考慮一詞多義) 13.加密與解密 要求:采用圖形用戶界面 1、給定任意一個文本文件,進(jìn)行加密,生成另一個文件。 2、對加密后的文件還原。 14.小游戲 要求:。 程序隨機產(chǎn)生20—50根火柴,由人與計算機輪流拿,每次拿的數(shù)量不超過3根,拿到最后一根為勝。(使用圖形界面) 15.敏感詞匯分析 要求: 任意選擇一個文本文件,分析該文件,如果存在敏感詞匯(這些詞匯保存在sentive.txt文件中,每個詞占一行),報告每個詞出現(xiàn)的次數(shù)。 16、猜數(shù)字游戲 要求:計算機產(chǎn)生隨機數(shù),猜中即勝,猜不中,提示是大了還是小了,繼續(xù)猜,直至猜到,給出所用時間

16、和評語。 要求提交Application和Applet兩個版本的程序。 17、小學(xué)算術(shù)運算測試程序 要求:制作一個可供小學(xué)數(shù)學(xué)運算程序:10以內(nèi)加減法,能根據(jù)輸入題數(shù)出題,判斷做題是否正確,最后計算分?jǐn)?shù)。 要求提交Application和Applet兩個版本的程序。 18、模擬科學(xué)計算器 要求:界面模擬Windows中的計算器程序。 實現(xiàn)基本數(shù)學(xué)運算、函數(shù)等功能:加、減、乘、除、階乘、正弦、余弦和指數(shù)運算。 實現(xiàn)要點:添加相關(guān)組件并進(jìn)行按鈕事件處理。 要求提交Application和Applet兩個版本的程序。 19、模擬畫圖 要求:模擬Windows中的畫圖

17、程序,實現(xiàn)圖形圖像的編輯、修改、保存等功能。 20、模擬時鐘 要求:通過多線程技術(shù),重繪界面,界面包括表盤和指針。并用數(shù)字表顯示時間。 實現(xiàn)要點:多線程技術(shù),圖形的繪制。 21、打字訓(xùn)練測試軟件 要求:設(shè)計一個英文打字測試軟件。從文件中調(diào)入英文錄入材料,最后可以給出錯誤率,平均錄入速度。 22、ip地址、手機歸屬地查詢 實現(xiàn)要點:數(shù)據(jù)庫查詢。 23、五子棋 功能要求:可兩人對下(用鼠標(biāo)操作),判斷勝負(fù)。 界面要求:美觀簡潔,有簡單操作說明。 24、電話號碼查詢系統(tǒng)。 要求:有電話錄入,修改,增加,刪除,按姓名查詢,按電話號碼查詢,按部門查詢,按部門顯

18、示,顯示所有電話號碼信息,打印等功能。 25、?其他題目: 如掃雷、紅心大戰(zhàn)等游戲程序的設(shè)計; 作業(yè)管理系統(tǒng),具有對本學(xué)期所有作業(yè)管理、運行的管理系統(tǒng); 學(xué)生成績管理系統(tǒng); 學(xué)生信息管理系統(tǒng); 試題管理系統(tǒng); 動畫制作,根據(jù)所學(xué)知識編制一些動畫程序; 及媒體播放器等等自擬題目。 普通題 題目 計算器 設(shè)計內(nèi)容 設(shè)計一個圖形界面(GUI)的計算器應(yīng)用程序,完成簡單的算術(shù)運算、 設(shè)計要求 設(shè)計的計算器應(yīng)用程序可以完成家法、減法、乘法、除法和取余運算。且有小數(shù)點、正負(fù)號、求倒數(shù)、退格和清零功能。 學(xué)習(xí)要點 本程序主要練習(xí)使用布局管理器設(shè)計一個計算器的界面,

19、并練習(xí)使用事件監(jiān)聽器處理數(shù)據(jù)的輸入,并完成相關(guān)的計算。 設(shè)計思路 本應(yīng)用程序繼承自框架類(Frame),此程序使用Frame布局管理器BorderLayout,將單行文本框加入到“North”區(qū)域,包含各種按鈕的面板Panel p加入到”Center”區(qū)域。 包含各種按鈕的面板Panel p 采用4行5列的網(wǎng)格布局,然后將數(shù)字按鈕和運算符按鈕以及控制按鈕添加到面板中。同時注冊按鈕事件監(jiān)聽器。如: Button b=new Button(); b.addActionListener(事件監(jiān)聽器); 事件監(jiān)聽器中的事件處理方法void actionPerformed(Act

20、ionEvent evt)完成主要的按鈕事件的處理。事件處理分以下幾種情況:數(shù)字按鈕事件(”0”,”1”,”2”…”8”,”9”)、運算符按鈕事件(”+”,”-“,”*”,”/”,”%”)、正負(fù)號按鈕事件(”+/-“)、小數(shù)點按鈕事件(”.”)、等號按鈕事件(”=”)、求倒按鈕事件(”1/x”)、退格按鈕事件(”退格”)、清楚按鈕事件(“C”)。 在事件處理。 觸發(fā)按鈕事件時,要進(jìn)一步分析,是重新開始計算時觸發(fā)的按鈕事件還是計算中間觸發(fā)的按鈕事件。 計算器完成的是一個數(shù)學(xué)表達(dá)式,如:3+2,所以可以采用一個鏈表(LinkedList類)來存儲數(shù)字或字符,如3,+,2分別存儲在鏈表中,最后

21、運算時,可以一一取出來進(jìn)行運算。 本應(yīng)用程序中的數(shù)字按鈕和運算符按鈕可以分別定義以下兩個類的對象組件 數(shù)字按鈕NumberButton類如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class NumberButton extends Button { int number; public NumberButton(int number) { super(""+number); this.number=number; set

22、Foreground(Color.blue); } public int getNumber() { return number; } } 運算符按鈕OperationButton類如下 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class OperationButton extends Button { String 運算符號; public OperationButton(String s) { sup

23、er(s); 運算符號=s; setForeground(Color.red); } public String get運算符號() { return 運算符號; } } 相關(guān)學(xué)習(xí)資料 LinkedList類: LinkedList類在Java標(biāo)準(zhǔn)類庫的java.util包定義,它提供域數(shù)組類似的服務(wù),包括可以插入或刪除元素。與數(shù)組不同的是,LinkList對象可以根據(jù)需要,動態(tài)地改變大小。LinkList對象中存儲的是對Object類的一系列引用,對任何類型對象的引用都可以被添加倒LinkList對象中。LinkedL

24、ist類中有以下方法 public LinkedList() //構(gòu)造方法 public Object getFirst() //返回鏈表中的第一個元素 public Object getLast() //返回鏈表中的最后一個元素 public Object removeFirst() 刪除并返回第一個鏈表元素 public Object removeLast() 刪除并返回最后一個鏈表元素 public void addFirst(Object o) //插入一個元素在為鏈表的第一個元素

25、 public void addLast(Object o) //插入一個元素為鏈表的最后一個元素 public boolean contains(Object o) //是否存在該元素 public int size() //返回鏈表元素個數(shù) public boolean add(Object o) //添加元素o public boolean remove(Object o)//刪除元素o public boolean addAll(Collection c) //添加一個對象集 c

26、 public void clear() //清除列表中的所有元素 public Object get(int index) //返回指定位置(index)的鏈表元素 public Object set(int index, Object element)//設(shè)定指定位置(index)的鏈表元素為元素element public void add(int index, Object element) //在鏈表特定位置(index)上插入鏈表元素 public Object remove(int index)//刪除指定位置(index)上

27、的鏈表元素 下面舉例應(yīng)用LinkedList類 import java.awt.*; import java.awt.event.*; import java.util.LinkedList; public class UseLinkedList extends Frame { Public static void main(String args[]) { String opertation1[]={“+”,”-“,”*”,”/”,”%”}; String ipe0,ope1,ope2,ope3,ope4; Int n; LinkedList list

28、1; For(int I=0;I

29、; System.out.println(“ope0-ope4分別為”+ope0+ope1+ope2+ope3+ope4); } } 運算結(jié)果為:3 + - & 運行效果示例: 題目 簡單投票管理系統(tǒng) 設(shè)計要求 設(shè)計一個如圖1所示的投票管理系統(tǒng)界面,要求輸入候選人名單后,點擊確認(rèn)按鈕實現(xiàn)使用選擇框代表候選人,計選擇框的名字就是候選人的名字。點擊取消按鈕候選人輸入框為空,重新輸入候選人名單。選中候選人的選擇框時,表示給該候選人投一票。點擊確定按鈕時表示產(chǎn)生一張選票。點擊刷新按鈕回到程序的初始界面重新設(shè)置候選人。根據(jù)選擇框的狀態(tài)變化統(tǒng)計出候選人的最后得

30、票數(shù),并可按票選取多少點擊排序按鈕對候選人進(jìn)行排序。(其中,最多從候選人中選取3人,如果一張選票選取多于3人,該票就作廢票處理。如果一個也沒投票,就作棄權(quán)處理。程序能顯示一共統(tǒng)計了多少選票,并能統(tǒng)計出廢票和棄權(quán)票的票數(shù)。 學(xué)習(xí)要點 本程序主要學(xué)習(xí)窗口的布局以及按鈕事件的觸發(fā)。 設(shè)計思路 定義幾個類變量來記錄投票相關(guān)記錄如: Checkbox checkbox[] //選擇框數(shù)組,代表候選人 TextField personVote[] //文本條數(shù)組,顯示每個人的得票情況 int coun

31、t[] //記錄每個人的得票數(shù) int totalVote=0, //總票數(shù) int peopleNumber=0; //候選人個數(shù) int 有效人數(shù)=3,廢票數(shù)=0,棄權(quán)票數(shù)=0; 在輸入候選人名單時是輸入一串名字,所以要從這一串名字中單個的提取出來并統(tǒng)計出候選人個數(shù),在完成這項功能時要用到StringTokenizer類。點擊確認(rèn)按鈕后,根據(jù)候選人個數(shù)添加單選按鈕,并以候選人名字作為單選按鈕的標(biāo)簽名。然后通

32、過確定按鈕事件分別給以上定義的各變量賦值。把結(jié)果顯示出來,同時可以根據(jù)peopleNumber的值對各候選人文本框排序,即調(diào)整候選人文本框中的內(nèi)容。 相關(guān)學(xué)習(xí)資料 StringTokenizer類 有時我們需要分析字符串并將字符串分解成可被獨立使用的單詞,這些單詞叫做語言符號。例如,對于字符串We are Students,如果我們把空格作為該字符串的分隔符,那么該字符串有3個單詞(語言符號)。而對于字符串WE,are,Student,如果我們把逗號作為了該字符串的分隔符,那么該字符串有3個單詞(語音符號)。 當(dāng)我們分析一個字符串并將字符串分解成可別獨立使用的單詞時,可以使

33、用java.util包中的StringTokenizer類,改類有兩個常用的構(gòu)造方法: StringTokenizer(String s)為字符串s構(gòu)造一個分析器。使用默認(rèn)的分隔符集合,即空格符(若干個空格被看作一個空格)、換行符、回車符、Tab符、進(jìn)紙符。 StringTokenizer(String sString delim)為字符串s構(gòu)造一個分析器。參數(shù)delim中的字符被作為分隔符。 例如:StringTokenlizer fenxi=new StringTokenizer(“We are student”); StringTokenlizer fenxi=new Strin

34、gTokenizer(“We,are;student”,”,”); 我們把一個StringTokenzier對象作一個字符串分析器。一個分析器可以使用nextToken()方法逐個獲取字符串中的語言符號(單詞),每當(dāng)調(diào)用nextToken()時,都將在字符串中活得下一個語言符號。通常用while循環(huán)來逐個獲取語言符號,為了控制循環(huán),我們可以使用 StringTokenizer類中的hasMoreTokens()方法,只要字符串中還有語言符號,該方法就返回true,否則返回false。另外我們還可以調(diào)用countTokens()方法得到字符串一共有多少個語言符號。 運行效果示例

35、 圖1 題目:華容道-一個傳統(tǒng)的智利游戲 設(shè)計要求 編寫一個按鈕的子類,使用該子類創(chuàng)建的對象代表華容道中的人物。通過焦點事件控制人物顏色,當(dāng)人物獲得焦點時顏色為藍(lán)色,當(dāng)失去焦點時顏色為灰色。通過鍵盤事件和鼠標(biāo)事件來實現(xiàn)曹操、關(guān)羽等人物的移動。當(dāng)人物上發(fā)生鼠標(biāo)事件或鍵盤事件時,如果鼠標(biāo)指針的位置是在人物的下方(也就是組件的下半部分)或按下鍵盤的“↓“鍵,該人物向下移動。向左、向右和向上的移動原理類似。 學(xué)習(xí)要點 本程序主要練習(xí)使用布局管理器設(shè)計一個華容道游戲界面,并練習(xí)使用事件監(jiān)聽器(鼠標(biāo)事件、鍵盤事件和焦點事件)實現(xiàn)按鈕的移動。 設(shè)計思路 首先是界面設(shè)計,該界面主要

36、包括十個人物按鈕(馬、曹操、關(guān)羽等)以及旁邊的四個邊框按鈕和重新開始按鈕。對于人物按鈕,我們可以創(chuàng)建Button按鈕的子類,在該類中定義按鈕的一些新的屬性和焦點事件監(jiān)聽器,如:按鈕的標(biāo)簽名、按鈕的顏色、按鈕的排號(如這里有十個人物按鈕,從1排到十,在程序中可以依靠這個屬性區(qū)分人物按鈕)、按鈕顏色、按鈕獲得或失去焦點事件。同時在設(shè)計該界面時要考慮到各個按鈕的位置、大小等情況。在這給出了各按鈕的位置和大小參數(shù):(其中Person為繼承Button按鈕的人物按鈕類) String name[]={"曹操","關(guān)羽","張","劉","馬","許","兵","兵","兵","兵"}; f

37、or(int i=0;i

38、,154,100,50); person[2].setBounds(54,154,50,100); person[3].setBounds(204,154,50,100); person[4].setBounds(54,54,50,100); person[5].setBounds(204,54,50,100); person[6].setBounds(54,254,50,50); person[7].setBounds(204,254,50,50); person[8].setBounds(104,204,50,50);

39、 person[9].setBounds(154,204,50,50); 四個邊框按鈕的位置和大小參數(shù)為: left.setBounds(49,49,5,260); right.setBounds(254,49,5,260); above.setBounds(49,49,210,5); below.setBounds(49,304,210,5); 其次我們是對界面上的各人物按鈕添加相應(yīng)的相應(yīng)事件(鼠標(biāo)事件、鍵盤事件),通過這兩種事件去完成界面上各人物按鈕的移動。對重新開始按鈕定義動作事件(ActionEvent)完成界面初始化功能(也就是各人物按

40、鈕重新歸位)。 相關(guān)學(xué)習(xí)資料 該程序主要涉及到鼠標(biāo)事件和鍵盤事件及焦點事件三個方面的新知識。 1、 觸發(fā)焦點事件 組件可以觸發(fā)焦點事件。組件可以使用 public void addFocusListener(FocusListener Listener) 增加焦點事件監(jiān)視器如:button1.addFocusListener(事件監(jiān)聽器) 當(dāng)組件具有焦點監(jiān)視器后,如果組件從無輸入焦點變成有輸入焦點或從有輸入焦點到無輸入焦點都會觸發(fā)FocusEvent事件。創(chuàng)建監(jiān)視器的類必須要實現(xiàn)FocusListener接口,該接口有兩個方法: public void focusGained(

41、FocusEvent e) //獲得焦點觸發(fā) public void focusLost(FocusEvent e) //失去焦點觸發(fā) 當(dāng)組件從無輸入焦點變成有輸入焦點并觸發(fā)FocusEvent事件時,監(jiān)視器調(diào)用類實現(xiàn)的接口方法focusGained(FocusEvent e);當(dāng)組件從有輸入焦點變成無輸入焦點并觸發(fā)FocusEvent事件時,監(jiān)視器調(diào)用類實現(xiàn)方法focusLost(FocusEvent e)。 方法 public Boolean requestFocusInwindow()方法可以獲得輸入焦點:如Button1.requestFocusInwindow

42、() 2、 鼠標(biāo)事件 組件是可以觸發(fā)鼠標(biāo)事件的事件源。 如:鼠標(biāo)指針進(jìn)入組件,退出、停留組件上方單擊鼠標(biāo)、拖動鼠標(biāo)、按下、釋放、移動。 鼠標(biāo)事件的類型是MouseEvent,即組件觸發(fā)鼠標(biāo)時,MouseEvent類自動創(chuàng)建一個事件對象。Java分別使用MouseListener接口與MouseMotionListener接口來處理鼠標(biāo)事件。MouseListener接口可以處理5種鼠標(biāo)事件:單擊、按下、釋放、進(jìn)入和退出。MouseMotionListener接口可以處理2種鼠標(biāo)事件:拖動、移動。 3、 鍵盤事件 當(dāng)按下、釋放或敲擊鍵盤上一個鍵時就發(fā)生了鍵盤事件,如:當(dāng)一個組件

43、處于激活狀態(tài)時(獲得焦點),敲擊鍵盤上一個鍵就導(dǎo)致了這個組件發(fā)生了鍵盤事件。事件源使用addKeyListener方法獲得監(jiān)視器。KeyEvent為鍵盤事件的類型,KeyListener是事件監(jiān)視器實現(xiàn)的接口,其中有三種相應(yīng)事件:按鍵、釋放鍵、按下和釋放的組合事件。 Public void KeyPressed(KeyEvent e) Public void KeyTyped(KeyEvent e) Public void KeyReleased(KeyEvent e) 用KeyEvent類的public int getKeycode()方法和public char getKeycha

44、r()判斷哪個鍵被按下、敲擊或釋放。如: public void keyPressed(KeyEvent e) { Person man=(Person)e.getSource();//返回事件源 if(e.getKeyCode()==KeyEvent.VK_DOWN) //判斷是否按下了向下箭頭 { goDown(man); } if(e.getKeyCode()==KeyEvent.VK_UP) //判斷是否按下了向下箭頭 { goUp(man); } if(e.getK

45、eyCode()==KeyEvent.VK_LEFT) //判斷是否按下了向下箭頭 { goLeft(man); } if(e.getKeyCode()==KeyEvent.VK_RIGHT) //判斷是否按下了向下箭頭 { goRight(man); } } 運行效果示例 題目: 在Applet畫面中實現(xiàn)y=a*x2+b*x+c 函數(shù)曲線的繪制 設(shè)計要求: 1、通過Applet參數(shù)傳遞a,b,c值; ??? 2、通過Applet參數(shù)控制曲線的粗細(xì); ?????3、曲線的顏色通過顏色對話框

46、選?。ㄍㄟ^一個顏色按鈕控制)。 4、 繪制一個小人沿曲線軌跡運動,到終點由頭重新開始。 題目 編寫一個記事本程序 設(shè)計要求 1、 用圖形用戶界面實現(xiàn)。 2、 能實現(xiàn)編輯、保存、另存為、查找替換等功能。 3、 提示:使用文件輸入輸出流。 題目 電子英漢詞典 設(shè)計要求 1. 用圖形用戶界面實現(xiàn)。 2. 能夠編輯詞典庫中的信息 3. 能夠?qū)崿F(xiàn)英譯漢,漢譯英。(要考慮一詞多義) 題目 加密與解密 設(shè)計要求 1. 采用圖形用戶界面 2. 給定任意一個文本文件,進(jìn)行加密,生成另一個文件。 3. 對加密后的文件還原。 提高題 題目:標(biāo)準(zhǔn)

47、化考試系統(tǒng) 內(nèi)容: 本系統(tǒng)可以進(jìn)行任何標(biāo)準(zhǔn)化考試,具有選擇試題,查看得分、考試計時等功能。 設(shè)計要求: 1. 用戶可以選擇一套標(biāo)準(zhǔn)化考試試題。 2. 每套試題的考試用時由試題文件(.txt)給出。 3. 開始讀取試題后,計時器開始計時,用戶提交答案后,可以讀取下一道題目。 4. 一個提示欄顯示所剩余的考試時間,當(dāng)規(guī)定時間用盡后,用戶將不能再讀取任何題目。 5. 為了增加模擬考試練習(xí)的靈活性,用戶也可以選擇暫停計時。 6. 用戶答完一個題目后,可以查看該題目的正確答案和目前的分?jǐn)?shù)。 運行效果圖: 題目:Hannoi塔 設(shè)計內(nèi)容 設(shè)計GUI界面的Han

48、noi塔,用戶可以通過拖動鼠標(biāo)移動各個塔上的盤子,程序也可以自動演示盤子的移動過程。 設(shè)計要求 1. 有三個表示塔的對象,分別命名為A、B和C。A塔上有若干個盤子,盤子的大小不等,并按著大小順序依次擺放在A塔上,大盤在下,小盤在上。用戶可以用鼠標(biāo)拖動盤子,把A 塔上的盤子全部移動到另外兩個塔中的任何一個塔上。要求每次只能移動一個盤子,在任何時候不允許大盤壓在小盤的上面。 2. 用戶也可以選擇讓程序自動演示。選擇自動演示后,程序?qū)⒁詣赢嬓问窖菔景袮塔上的盤子全部移到C塔的過程,并將移動過程以文本形式顯示在一個文本區(qū)中。 運行效果圖 題目 學(xué)籍管理系統(tǒng) 設(shè)計內(nèi)容 設(shè)

49、計基于文件結(jié)構(gòu)的學(xué)籍管理系統(tǒng)。 設(shè)計要求 1錄入學(xué)生基本信息的功能 2修改學(xué)生基本信息的功能 3查詢學(xué)生基本信息的功能 4刪除學(xué)生基本信息的功能 運行結(jié)果圖 題目 制作一個圖形編輯系統(tǒng) 設(shè)計要求:1、能用拖橡皮筋的手法繪制各類圖形(直線、橢圓、矩形、文字) ??? 2、支持畫筆顏色、文字大小設(shè)置; ??? 3、能將畫面中的所有圖形存儲到文件中; ??? 4、能從文件讀取圖形進(jìn)行增補; ??? 5、采用對話框獲取圖形文件名。 ??? 6、思考如何利用鼠標(biāo)選取圖形,刪除。 題目 圖書信息管理系統(tǒng) 設(shè)計要求: 1. 使用圖形用戶界面 2

50、. 用數(shù)據(jù)庫建立1或2個圖書信息表。(不限使用哪種數(shù)據(jù)庫) 3. 能連接數(shù)據(jù)庫并實現(xiàn)查詢、增、刪、改等功能。 題目 ATM柜員機模擬系統(tǒng) 設(shè)計要求: 使用圖形用戶界面。 需求: 當(dāng)輸入給定的卡號和密碼(初始卡號和密碼為123456)時,系統(tǒng)能登錄ATM柜員機系統(tǒng),用戶可以按照以下規(guī)則進(jìn)行: 1、查詢余額:初始余額為10000元 2、ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。 3、ATM存款:不能出現(xiàn)負(fù)存款。 4、修改密碼:新密碼長度不小于6位,不允許出現(xiàn)6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況

51、下才可以成功修改密碼。 題目 一個簡單的萬年歷 功能要求: 1. 能夠顯示實現(xiàn)1800-2100年的日期,包括公歷、農(nóng)歷、星期、二十四節(jié)氣。 2. 能夠按照月份格式顯示,或按照星期格式顯示。 3. 能夠顯示系統(tǒng)時間。 4. 能夠設(shè)置鬧鐘。 5. 能夠查詢?nèi)舾蓢H大城市(分布在不同時區(qū))的時間。 題目 學(xué)生成績管理信息系統(tǒng) 數(shù)據(jù)庫要求: 1. 建立的數(shù)據(jù)庫中包含如下信息:學(xué)生學(xué)號、姓名、班級,語文、數(shù)學(xué)、英語成績。 2. 至少要有5個班級,每個班級要有10名以上學(xué)生。 3. 使用.txt格式文本表示各種表。 功能需求:

52、 1. 能夠?qū)崿F(xiàn)根據(jù)以下關(guān)鍵字查詢:學(xué)生姓名 、學(xué)號、班級、課程名稱。 2. 能夠?qū)崿F(xiàn)按照單科成績、總成績、平均成績、學(xué)號排序。 3. 能夠?qū)崿F(xiàn)學(xué)生信息的插入、刪除和修改。 4. 能夠查詢每個課程的最高分、最低分及相應(yīng)學(xué)生姓名、班級和學(xué)號。 5. 能夠查詢每個班級某門課程的優(yōu)秀率(90分及以上)、不及格率,并進(jìn)行排序。 題目 聊天小程序 設(shè)計要求 1. 使用圖形用戶界面。 2. 能實現(xiàn)一個聊天室中多人聊天。 3. 可以兩人私聊。 4. 提示:使用socket通信 挑戰(zhàn)題 題目:記憶測試系統(tǒng) 設(shè)計內(nèi)容: 記憶測試系統(tǒng)通過回

53、憶法測試記憶,分為初級、中級、高級三個級別,并通過記憶榜存儲每個級別的成績。 設(shè)計要求: 1. 單擊“記憶測試”菜單可以選擇初級/中級/高級,也可以查看初級記憶榜/中級記憶榜或高級記憶榜。 2. 選擇級別后,將顯示相應(yīng)級別的測試區(qū)域。測試區(qū)域由若干個方塊組成,每個方塊都有一個圖標(biāo),但該圖標(biāo)默認(rèn)情況下不可見。用鼠標(biāo)單擊測試區(qū)中的任何一個方塊,則計時器開始啟動,同時該方塊上的圖標(biāo)將顯示出來。對于初級級別,用戶必須用鼠標(biāo)連續(xù)單擊出6個圖標(biāo)相同的方塊,也就是說,如果用戶已經(jīng)用鼠標(biāo)連續(xù)單擊出n(n<6)個圖標(biāo)相同的方塊,單擊另一個房塊時,如果該方塊的圖標(biāo)和上一個相同,那么該方塊的圖標(biāo)和前n 次單擊

54、出的方塊的圖標(biāo)仍然可見,否則,前n次單擊出的方塊的圖標(biāo)都變?yōu)椴豢梢姟? 3. 連續(xù)單擊出該級別所要求的若干個圖彪相同的方塊后,將顯示保存成績對話框,成績按所用時間排序。用戶可以通過該對話框選擇是否將自己的成績保存到成績表中。 運行效果圖: 題目 超市收銀系統(tǒng) 設(shè)計要求: 使用圖形用戶界面。 需求: 由收銀員輸入顧客的會員卡卡號(若有卡)、所購商品的貨號等。從數(shù)據(jù)庫中取出有關(guān)價格信息,再把這些信息返回給收銀臺。同時把該收銀臺的銷售總量和有關(guān)種類商品的剩余量以及該持卡顧客的消費情況交數(shù)據(jù)庫存儲以供查詢。 另外,對沒有卡的消費情況不記錄該顧客的消費情況等個

55、人信息。如果一個未持卡顧客一次購物滿200元,可為其發(fā)放一張會員卡,以后在該商場購物可向9折優(yōu)惠。 題目 算法演示程序 功能要求: 1. 選擇一個算法(提供選擇見下),利用各種方法(圖形、動畫等)演示算法的演示過程。 2. 可以進(jìn)行手動演示,也可以自動步進(jìn)式演示。 3. 允許用戶設(shè)置算法的各個輸入?yún)?shù),以及自動步進(jìn)式演示中的時間間隔。 4. 不同的算法輸入要求見下。 參考算法: 1. 最小生成樹算法:Prim算法、Kruskal算法。允許以下方式輸入一個圖形:繪制圖形、輸入鄰接矩陣、輸入邊及其關(guān)聯(lián)的頂點。要求在圖形方式下進(jìn)行演示算法執(zhí)行

56、步驟。 2. 單源最短路算法:Dijkstra算法。允許以下方式輸入一個圖形:繪制圖形、輸入鄰接矩陣、輸入邊及其關(guān)聯(lián)的頂點。要求在圖形方式下進(jìn)行演示算法執(zhí)行步驟。 3. 最優(yōu)編碼算法:Huffman編碼算法。允許用戶輸入一段英文文字,或者打開一個txt文檔(英文內(nèi)容),據(jù)此文檔內(nèi)容進(jìn)行編碼。要求動態(tài)列出每個字符的出現(xiàn)概率統(tǒng)計結(jié)果以及對應(yīng)編碼。 5. 其他可供演示的具有一定難度的算法,如關(guān)鍵路徑問題、有向圖的極大連通分支等。 題目 網(wǎng)絡(luò)聊天程序 功能要求: 1. 實現(xiàn)類似與飛鴿的功能,自動偵測局域網(wǎng)內(nèi)部啟動該軟件的用戶,并顯示在用戶列表中。 2. 可以進(jìn)行兩個人之間的私聊。 3. 可以群聊。 4. 可以發(fā)送文件。

展開閱讀全文
溫馨提示:
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)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!