2012版JAVA課程設(shè)計(jì)指導(dǎo)書
目 錄整體要求及考核辦法 ......................................... IIIA 類題(自定義格式文件的存取、數(shù)據(jù)的增刪改查).................
目 錄
整體要求及考核辦法 ......................................... III
A 類題(自定義格式文件的存取、數(shù)據(jù)的增刪改查)................... 1
題目A1:拿火柴游戲 ............................................... 1
題目A2:ATM 模擬程序 .............................................. 1
題目A3:簡單倉庫管理系統(tǒng) ......................................... 1
題目A4:學(xué)生信息管理系統(tǒng) ......................................... 2
題目A5:圖書信息管理系統(tǒng) ......................................... 2
題目A6:個(gè)人通訊錄系統(tǒng) ........................................... 2
題目A7:職工工資管理系統(tǒng) ......................................... 2
題目A8:嬰兒出生信息管理系統(tǒng) ..................................... 3
B 類題(圖形界面、數(shù)據(jù)庫、接口數(shù)據(jù)的下載及解析) ................. 4
題目B1:簡單計(jì)算器 ............................................... 4
題目B2:簡單的記事本程序 ......................................... 4
題目B3:模擬電信計(jì)費(fèi)系統(tǒng) ......................................... 4
題目B4:基于MD5算法的文件指紋提取 ............................... 5
題目B5:學(xué)生錄取系統(tǒng) ............................................. 5
題目B6:手機(jī)號(hào)碼歸屬地查詢系統(tǒng) ................................... 6 題目B7:IP 地址查詢系統(tǒng) ........................................... 6
題目B8:身份證號(hào)碼查詢系統(tǒng) ....................................... 6
題目B9:天氣預(yù)報(bào)查詢系統(tǒng) ......................................... 7
題目B10:域名ICP 備案查詢系統(tǒng) .................................... 7
題目B11:快遞狀態(tài)查詢系統(tǒng) ........................................ 8
題目B12:敏感詞匯分析 ........................................... 10 題目B13:XML 或JS ON 數(shù)據(jù)接口的生成 ............................... 10
C 類題(圖形界面、特定文件的存取、網(wǎng)絡(luò)) ....................... 10 題目C1:MP 3或MP 4文件基本信息的解析 . ............................. 11
題目C2:隨機(jī)點(diǎn)名器 .............................................. 11
題目C3:五子棋 .................................................. 11
題目C4:幻燈片形式的圖片瀏覽器 .................................. 11
題目C5:局域網(wǎng)聊天程序 .......................................... 11 I
,題目C6:打字訓(xùn)練測(cè)試軟件 ........................................ 11
題目C7:模擬畫圖 ................................................ 12
題目C8:模擬時(shí)鐘 ................................................ 12
II
,整體要求及考核辦法
建議使用Eclipse 或MyEclipse 集成開發(fā)環(huán)境完成課題,程序的運(yùn)行界面友好,代碼的可維護(hù)性好,有必要的注釋和相應(yīng)的文檔。程序如果有多個(gè)功能需要實(shí)現(xiàn)時(shí),需要以菜單方式列出所有功能。
根據(jù)提交的課程設(shè)計(jì)報(bào)告(包括程序主要完成的功能、設(shè)計(jì)思路和框圖、主要代碼、有何收獲,所存在的不足以及需要改進(jìn)的地方),程序功能的實(shí)現(xiàn)(要求演示)進(jìn)行考核。
總評(píng)成績=平時(shí)(出勤 紀(jì)律)10 程序代碼答辯60 課程設(shè)計(jì)報(bào)告30。 各類題得分的基礎(chǔ)區(qū)間依次為:A 類[60~75],B 類[76~85],C 類[86~95]。 各類題得分的等級(jí)劃分:
(1)無課程設(shè)計(jì)報(bào)告,無程序(對(duì)于從網(wǎng)上下載的,不能講解出程序?qū)崿F(xiàn)思路或細(xì)節(jié)的程序,視為無程序),得0分。
(2)課程設(shè)計(jì)報(bào)告存在明顯的從網(wǎng)上復(fù)制現(xiàn)象,有嚴(yán)重的拼湊痕跡,格式混亂;程序不能運(yùn)行,或運(yùn)行結(jié)果明顯不正確,或答辯時(shí)無法講解清楚程序思路,或者不能回答出老師提問的程序細(xì)節(jié),不及格。
(3)課程設(shè)計(jì)報(bào)告描述基本清晰,格式基本規(guī)范;實(shí)現(xiàn)了程序的主要功能,標(biāo)識(shí)符名字符合駝峰命名法規(guī)定,及格。
(4)課程設(shè)計(jì)報(bào)告描述清晰準(zhǔn)確,格式規(guī)范;實(shí)現(xiàn)了程序的所有功能,良好。
(5)課程設(shè)計(jì)報(bào)告描述清晰嚴(yán)謹(jǐn),格式細(xì)致規(guī)范,深入分析了自己進(jìn)行實(shí)驗(yàn)的體會(huì)感想;程序?qū)崿F(xiàn)了全部功能,功能完善,并有一定程度的創(chuàng)新,優(yōu)秀。
關(guān)于幾種跨檔給分情況的說明:
① 所選題目在同檔題目中相對(duì)較難,得分等級(jí)為優(yōu)秀,且最好有一定特色(比如在Android 環(huán)境下完成課題),提檔給分;
② 如果程序?qū)崿F(xiàn)和課設(shè)報(bào)告的質(zhì)量不匹配,按質(zhì)量較差的材料降檔給分,直至不及格;
③ C類題如果完成質(zhì)量很好,可以酌情給予95以上的分?jǐn)?shù),甚至滿分; ④ 任務(wù)沒有完成時(shí),無故缺勤達(dá)到1/3課時(shí)的,該門課程直接記為取消考試資格;
抽簽規(guī)則:
根據(jù)C 語言期末考試的分?jǐn)?shù),由低分向高分的順序抽簽,每個(gè)題最多只有兩個(gè)人抽到。如果兩個(gè)同學(xué)做的是同一個(gè)題,則必須盡可能地采用不同的方法來實(shí)現(xiàn)程序。
III
,Java 課程設(shè)計(jì)指導(dǎo)書 1 A 類題(自定義格式文件的存取、數(shù)據(jù)的增刪改查)
A 類題的基本要求:
① 掌握J(rèn)ava 語言應(yīng)用程序的編寫;
② 掌握簡單結(jié)構(gòu)數(shù)據(jù)的文件存?。ㄗ远x文件格式);
③ 掌握簡單信息管理系統(tǒng)數(shù)據(jù)增、刪、改、查功能的實(shí)現(xiàn)方法;
④ A類題所規(guī)定的功能如能全部完成,則程序得分一般處于60~75分,如果主要功能未能實(shí)現(xiàn),則直接判定為不及格;如果課題實(shí)現(xiàn)時(shí)采用了GUI 圖形界面,并且主要的數(shù)據(jù)存儲(chǔ)采用了數(shù)據(jù)庫,則可以根據(jù)程序難度和編碼質(zhì)量酌情給予B 類題的分?jǐn)?shù)。
題目A1:拿火柴游戲
程序隨機(jī)產(chǎn)生20—50根火柴,由人與計(jì)算機(jī)輪流拿,每次拿的數(shù)量不超過3根,拿到最后一根為勝。
題目A2:ATM 模擬程序
輸入給定的卡號(hào)和密碼(初始卡號(hào)為62250028和密碼為123456)時(shí),系統(tǒng)能登錄ATM 柜員機(jī)系統(tǒng),用戶可以按照以下規(guī)則進(jìn)行操作:
1、查詢余額:初始余額為10000元;
2、ATM 取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支;
3、ATM 存款:不能出現(xiàn)負(fù)存款;
4、修改密碼:新密碼長度不小于6位,不允許出現(xiàn)6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼;
5、要求數(shù)據(jù)采用文件存儲(chǔ),如果采用數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),且界面實(shí)現(xiàn)采用了GUI ,則酌情提檔給分。
題目A3:簡單倉庫管理系統(tǒng)
本系統(tǒng)實(shí)現(xiàn)簡單的倉庫管理功能,可以對(duì)倉庫及產(chǎn)品信息進(jìn)行登記、修改、刪除等。
程序的基本功能:
1.增加、修改、刪除一個(gè)倉庫資料。
2.增加、修改、刪除一個(gè)產(chǎn)品資料。
3.按條件顯示倉庫資料(條件有按編號(hào)、名稱等)。
,4.按條件顯示產(chǎn)品資料(條件有按編號(hào)、名稱等)。
5.查找指定產(chǎn)品的數(shù)量。
6.要求數(shù)據(jù)采用文件存儲(chǔ),如果采用數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),且界面實(shí)現(xiàn)采用了GUI ,則酌情提檔給分。
題目A4:學(xué)生信息管理系統(tǒng)
本系統(tǒng)實(shí)現(xiàn)學(xué)生信息的管理功能,可以對(duì)學(xué)生的學(xué)號(hào)、姓名、性別、籍貫及成績等基本信息進(jìn)行錄入、修改、查詢、刪除等。
程序的基本功能:
1.增加、修改、刪除一個(gè)學(xué)生及成績信息。(對(duì)于學(xué)生成績要求輸入驗(yàn)證,比如不能大于100分,不能是負(fù)數(shù));
2.分頁顯示所有學(xué)生信息;
3.按條件查詢學(xué)生信息(條件有學(xué)號(hào)、姓名、籍貫等)。
4.要求數(shù)據(jù)采用文件存儲(chǔ),如果采用數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),且界面實(shí)現(xiàn)采用了GUI ,則酌情提檔給分。
題目A5:圖書信息管理系統(tǒng)
本系統(tǒng)實(shí)現(xiàn)圖書信息的管理功能,可以對(duì)圖書的ISBN 編號(hào)、書名、作者、出版社及出版年份等基本信息進(jìn)行錄入、修改、查詢、刪除等。
程序的基本功能:
1.增加、修改、刪除一本書的信息;
2.分頁顯示所有圖書信息;
3.按條件查詢圖書信息(條件有ISBN 編號(hào)、書名、作者等)。
4.要求數(shù)據(jù)采用文件存儲(chǔ),如果采用數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),且界面實(shí)現(xiàn)采用了GUI ,則酌情提檔給分。
題目A6:個(gè)人通訊錄系統(tǒng)
建立一個(gè)通訊錄,要求通訊錄中必須含有編號(hào)、姓名,性別、電話、地址、Email 等等。實(shí)現(xiàn)該類并包含添加、刪除、修改、按姓名查等幾個(gè)方法。要求使用文件保存數(shù)據(jù),如果采用數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),且界面實(shí)現(xiàn)采用了GUI ,則酌情提檔給分。
題目A7:職工工資管理系統(tǒng)
公司主要有4類人員:經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理。要求存儲(chǔ)這些人的職工號(hào)、姓名、月工資、崗位、年齡、性別等信息。
2
,程序的基本功能:
1.增加、修改、刪除一個(gè)職工信息; 2.顯示全部職工信息;
3.按條件顯示職工信息(條件有按電話號(hào)碼、姓名、職稱或職工號(hào)等); 4.按條件顯示工資信息(職工號(hào),職稱等); 5.查找指定金額范圍的職工職稱。
6.要求數(shù)據(jù)采用文件存儲(chǔ),如果采用數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),且界面實(shí)現(xiàn)采用了GUI ,則酌情提檔給分。
題目A8:嬰兒出生信息管理系統(tǒng)
在醫(yī)院中,嬰兒出生的時(shí)候都需要進(jìn)行登記,現(xiàn)在要求編寫一個(gè)程序進(jìn)行初生嬰兒的登記和屏幕打印預(yù)覽管理,為了該程序很好地為其他模塊提供接口,采用一個(gè)類模塊來描述嬰兒信息,嬰兒的詳細(xì)情況包括:
根據(jù)以上信息,要求在JAVA 中,使用類模塊來描述嬰兒信息,并且完成登記和在屏幕上進(jìn)行顯示的程序功能。
護(hù)理人員代碼必須為四位,代碼號(hào)順序從0100-0112; 醫(yī)務(wù)人員代碼必須為四位,代碼號(hào)順序從0300-0320; 家庭詳細(xì)地址輸入的字符不能超過128個(gè); 住址郵政編碼輸入的字符不能超過6個(gè); 母親姓名和父親姓名輸入的字符不能超過12個(gè); 嬰兒性別是“男”或者“女”;
“母親姓名”、“嬰兒性別”和“護(hù)理人員代碼”是基本數(shù)據(jù),不允許為空,要求在代碼中進(jìn)行輸入檢查;
程序的基本功能:
3
,1.增加一個(gè)嬰兒資料。
2.按條件查詢顯示嬰兒資料(條件有按醫(yī)院、父母、性別以及日期等)。
3.顯示超低體重的嬰兒資料。
B 類題(圖形界面、數(shù)據(jù)庫、接口數(shù)據(jù)的下載及解析)
B 類題的基本要求:
① 掌握J(rèn)ava 語言圖形用戶界面(GUI )應(yīng)用程序的編寫;
② 掌握文件存取的基本方法,以及SqlLite 、MySql 或SQL Server等數(shù)據(jù)庫的創(chuàng)建及操作方法;
③ 掌握XML 或JSon 數(shù)據(jù)的下載及解析方法。
④ B類題所規(guī)定的功能如能全部完成,則程序得分區(qū)間一般處于76~85分,如果主要功能未能實(shí)現(xiàn),則直接判定為不及格;根據(jù)程序的編碼質(zhì)量,可以酌情給予A 類或C 類題的分?jǐn)?shù)。
題目B1:簡單計(jì)算器
仿照Windows 2000/XP系統(tǒng)中的“計(jì)算器”利用Java 的GUI 實(shí)現(xiàn)一個(gè)簡單的計(jì)算器。
程序的基本功能:
1.單擊“計(jì)算器”上的數(shù)字按鈕(0-9)可以設(shè)置參與計(jì)算的運(yùn)算數(shù)。
2.單擊“計(jì)算器”上的運(yùn)算符按鈕( 、-、*、/)可以選擇運(yùn)算符號(hào)。
3.單擊“計(jì)算器”上的“=”按鈕顯示計(jì)算結(jié)果。
題目B2:簡單的記事本程序
仿照Window 系統(tǒng)中的“記事本”利用Java 的GUI 和文件輸入輸出流實(shí)現(xiàn)一個(gè)簡單的記事本程序。
要求能實(shí)現(xiàn)編輯、保存、另存為、查找和替換等功能。
題目B3:模擬電信計(jì)費(fèi)系統(tǒng)
電信有很多用戶,每一個(gè)用戶都有基本信息,包括:姓名、住址、出生年月等信息。每一個(gè)用戶可以有座機(jī)、移動(dòng)電話,兩者可以同時(shí)有,也可以有其一?,F(xiàn)收費(fèi)標(biāo)準(zhǔn)如下:
要求實(shí)現(xiàn)圖形化用戶界面,完成以下功能:
4
,1.增加、修改、刪除一個(gè)用戶資料。
2.增加、修改、刪除一個(gè)電話賬單(包括電話號(hào)碼、市話通話時(shí)間、市話費(fèi)用、長途通話時(shí)間、長途通話費(fèi)用、IP 通話時(shí)間、IP 通話費(fèi)用、總費(fèi)用)
3.按條件顯示用戶資料(條件有按電話號(hào)碼、姓名等)。
4.按條件顯示電話賬單信息(條件有按電話號(hào)碼、用戶名等)。
5.查找指定金額范圍的電話賬單。
6.采用文件或數(shù)據(jù)庫來存儲(chǔ)數(shù)據(jù)。
題目B4:基于MD5算法的文件指紋提取
采用Java 的圖形用戶界面,基于MD5算法實(shí)現(xiàn)一個(gè)文件指紋提取程序。 文件內(nèi)容在傳輸過程中可能被篡改,如果在文件傳輸時(shí)同時(shí)公布出該文件的“指紋”,該文件被篡改的可能性將會(huì)大大降低。這樣即使文件在傳輸過程中被篡改,接收的用戶只要重新提取收到文件的指紋,也就很容易發(fā)現(xiàn)文件是否被篡改。
本課題要求采用MD5算法提取任意文件的指紋,并將提取的指紋與網(wǎng)上提供的MD5校驗(yàn)工具的結(jié)果進(jìn)行比較。
題目B5:學(xué)生錄取系統(tǒng)
考試課程為4門,其中數(shù)學(xué)、外語、政治為統(tǒng)一命題,而專業(yè)基礎(chǔ)課則根據(jù)不同的專業(yè)由招生學(xué)校自行命題。國家對(duì)初試錄取分?jǐn)?shù)有總分要求(如某一年要求4門課總分應(yīng)達(dá)到310分),另外還有對(duì)每門課的最低分?jǐn)?shù)要求(如總分為100的試卷最低應(yīng)達(dá)到40分)。編程統(tǒng)計(jì)初試合格的人數(shù),并按總分由高到低的順序輸出合格考生的信息。
① 基本要求
程序運(yùn)行時(shí)首先要求輸入(數(shù)據(jù)放到數(shù)據(jù)庫中):考生姓名,準(zhǔn)考證號(hào),報(bào)考專業(yè),是否應(yīng)屆生,4門課程(政治、數(shù)學(xué)、外語、專業(yè)基礎(chǔ)課)成績(可以將這些信息編寫在一個(gè)類中)。這些原始數(shù)據(jù)應(yīng)保存到一個(gè)表中。
然后輸入:錄取的總分要求,各課程的最低分?jǐn)?shù)要求。
輸出要求:過線考生的姓名,準(zhǔn)考證號(hào),報(bào)考專業(yè),是否應(yīng)屆生,4門課程(政治、數(shù)學(xué)、外語、專業(yè)基礎(chǔ)課)成績及總分。如果采用GUI ,這些信息應(yīng)顯示在JTable 中.
② 測(cè)試數(shù)據(jù)
程序應(yīng)輸入不少于5名考生的信息,其中應(yīng)屆生和歷屆生分別有若干名,并且都有合格和不合格的情況。
5
,題目B6:手機(jī)號(hào)碼歸屬地查詢系統(tǒng)
通過Java 下載網(wǎng)上提供的XML 或JSon 接口文件,并將獲取的XML 或JSon 數(shù)據(jù)解析后以文字或圖片形式顯示到圖形界面上。
該公共免費(fèi)接口以URL GET方式提交參數(shù),以XML 的形式返回查詢結(jié)果 查詢手機(jī)號(hào)碼歸屬地:
舉例:http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=13892101111 返回:
題目B7:ip 地址查詢系統(tǒng)
實(shí)現(xiàn)要點(diǎn):通過java 下載網(wǎng)上提供的XML 或JSon 接口文件,并將獲取的XML 或JSon 數(shù)據(jù)解析后以文字或圖片形式顯示到圖形界面上
該公共免費(fèi)接口以URL GET方式提交參數(shù),以XML 的形式返回查詢結(jié)果 查詢IP 地址:
舉例:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=123.233.157.9 返回:
題目B8:身份證號(hào)碼查詢系統(tǒng)
實(shí)現(xiàn)要點(diǎn):通過java 下載網(wǎng)上提供的XML 或JSon 接口文件,并將獲取的
6
,XML 或JSon 數(shù)據(jù)解析后以文字或圖片形式顯示到圖形界面上。
公共免費(fèi)接口以URL GET方式提交參數(shù),以XML 的形式返回查詢結(jié)果 查詢身份證信息:
舉例:http://www.youdao.com/smartresult-xml/search.s?type=id&q=370782196402121133 返回:
370782196402121133
題目B9:天氣預(yù)報(bào)查詢系統(tǒng)
實(shí)現(xiàn)要點(diǎn):通過java 下載網(wǎng)上提供的XML 或JSon 接口文件,并將獲取的XML 或JSon 數(shù)據(jù)解析后以文字或圖片形式顯示到圖形界面上。
公共免費(fèi)接口以URL GET方式提交參數(shù),以XML 的形式返回查詢結(jié)果 Google 提供的天氣預(yù)報(bào)查詢接口:
例如:http://www.google.com/ig/api?hl=zh_cn&weather=shanghai 題目B10:域名ICP 備案查詢系統(tǒng)
實(shí)現(xiàn)要點(diǎn):通過java 下載網(wǎng)上提供的XML 或JSon 接口文件,并將獲取的XML 或JSon 數(shù)據(jù)解析后以文字或圖片形式顯示到圖形界面上。
1. 該公共免費(fèi)接口以XML 的形式返回查詢結(jié)果
請(qǐng)求:http://api.beianchaxun.net/api/QueryDomainXml/<你的域名>
例如:http://api.beianchaxun.net/api/QueryDomainXml/enjoylinux.cn
返回:
7