版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計題目設(shè)計說明.五人一組,每組選擇一個題目。.由學(xué)習(xí)委員負責(zé)統(tǒng)計各組員及其題目,以電子檔模式提交題目列表名單.每組必須給出相應(yīng)的UML類圖,可用Visio或者其他類似的工具完成。設(shè)計要求.編碼規(guī)范要求遵循Java編碼規(guī)范,參見附錄。.知識點要求項目應(yīng)至少覆蓋以下知識點:封裝、繼承與多態(tài)等基本概念;方法和數(shù)組; 輸入輸出流;使用抽象類、接口;對象組合;異常處理;包的使用。.文檔打包及提交要求文檔打包:以“題目-設(shè)計報告(姓名).rar”形式將相關(guān)文檔打包。壓縮包的內(nèi)容:1)運行正確的源代碼(包括文件夾結(jié)構(gòu))。2)設(shè)計報告:描述軟件功能、和設(shè)計方案的 UML類圖;設(shè)計中涉及的
2、主要 知識點;運行結(jié)果截圖;使用幫助文檔。題目列表及說明:.打字游戲GUI本地版練習(xí)背單詞和打字速度可根據(jù)一片文章自動導(dǎo)入單詞整個單詞下落或者淡入淡出同時多個單詞出現(xiàn)對輸入錯誤的單詞分析記憶功能積分.文件加密和解密要求:采用圖形用戶界面1)給定任意一個文本文件,進行加密,生成另一個文件。2)對加密后的文件還原。. 5子棋游戲設(shè)計程序,完成下述功能:在大于9條線的方形網(wǎng)格棋盤上,放置黑白兩色棋子;兩人各執(zhí)一色,通過網(wǎng)絡(luò)對弈;可以在任何兩條線的交點上放置棋子;同色棋子先同行、同列或者同隊角線上 5顆連成一條線者獲勝。.俄羅斯方塊(網(wǎng)絡(luò)版)設(shè)計程序,完成下述功能:完成一個可以兩個人通過網(wǎng)絡(luò)對戰(zhàn)的俄羅
3、斯方塊 游戲,每一方都可以在自己的屏幕上看到對方的當前游戲狀況,游戲先結(jié)束的一方為失敗者。.音樂播放器(JavaGUI本地版)設(shè)計程序,完成下述功能:選擇各類聲音文件進行播放。完成前進、后退、暫停、回放等控制功能。.電子相冊(JavaGUI本地版)設(shè)計程序,完成下述功能:選擇圖形的顯示。完成圖形的放大、縮小、剪切、旋轉(zhuǎn)等控制功能。圖片的自動播放功能。.多人聊天室(JavaGUI本地版/WEB版)多人同時上網(wǎng)聊天。.撲克游戲(JavaGUI本地版/WEB版)開發(fā)具有“升級”功能的4人對戰(zhàn)游戲?!吧墶庇纸型侠瓩C。要求采用Java 網(wǎng)絡(luò)編程技術(shù)。.編寫一個記事本程序要求:用圖形用戶界面實現(xiàn)。能實現(xiàn)
4、編輯、保存、另存為、查找替換等功能。提示:使用文件輸入輸出流。.模擬龜兔賽跑要求:用圖形用戶界面實現(xiàn)。能設(shè)置比賽時間,馬匹的數(shù)量等等。在任意時間段內(nèi)馬匹的速度是隨機的。開始比賽之后以動畫顯示賽馬過程。提示:使用多線程.ATM柜員機模擬程序要求:使用圖形用戶界面。當輸入給定的卡號和密碼(初始卡號和密碼為123456)時,系統(tǒng)能登錄ATM 柜員機系統(tǒng),用戶可以按照以下規(guī)則進行:1)查詢余額:初始余額為10000元ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額 不允許透支。ATM存款:不能出現(xiàn)負存款。4)修改密碼:新密碼長度不小于6位,不允許出現(xiàn)6位完全相同的情況,只 有舊密
5、碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。 12.超市收銀系統(tǒng)要求:使用圖形用戶界面。由收銀員輸入顧客的會員卡卡號(若有卡)、所購商品的貨號等。從數(shù)據(jù)庫中 取出有關(guān)價格信息,再把這些信息返回給收銀臺。同時把該收銀臺的銷售總量和 有關(guān)種類商品的剩余量以及該持卡顧客的消費情況交數(shù)據(jù)庫存儲以供查詢。另 外,對沒有卡的消費情況不記錄該顧客的消費情況等個人信息。如果一個未持卡顧客一次購物滿200元,可為其發(fā)放一張會員卡,以后在該商場購物可向9折優(yōu) 惠。.擴充的萬年歷多功能計時功能:當前時間顯示;按年月顯示日歷;調(diào)整時間。備忘錄功能:備忘錄設(shè)置,備忘錄刪除。.網(wǎng)絡(luò)監(jiān)聽程序使用圖形用
6、戶界面。有服務(wù)器和客戶端,服務(wù)器監(jiān)聽客戶端的登陸。即:如果 A客戶端登陸服務(wù) 器,則服務(wù)器界面上的A字母對應(yīng)的紅燈變成綠色。 綠燈表示連接,紅燈表示 斷線。提示:socket的監(jiān)聽方法.全球通計費程序使用圖形用戶界面。使用真實的全球通資費標準,模擬統(tǒng)計一個特定號碼的一個月的實時話費。能根據(jù)輸入實現(xiàn)各種用戶的話費的計算并顯示月實時帳單。提示:使用接口和多個子類實現(xiàn)分別表示金卡、 銀卡等各種套餐的話費計算。 16.日歷記事本要求:帶有日程提醒功能的日歷1)顯示信息:用戶可以向前翻頁查詢前一個月的日期,也可以向后翻頁查詢下一個月的日期。2)定時提醒:用戶可以針對某一天來添加,刪除和編輯這一天的日程提
7、醒信 息,當系統(tǒng)時間和提醒時間相吻合時,給出具有提示信息的對話框。3)查詢信息:用戶可以查詢到某個月的所有的提示信息。.電子英漢詞典能夠編輯詞典庫中的信息能夠?qū)崿F(xiàn)英譯漢,漢譯英。(要考慮一詞多義).小游戲要求:程序隨機產(chǎn)生20-50根火柴,由人與計算機輪流拿,每次拿的數(shù)量不 超過3根,拿到最后一根為勝。(使用圖形界面) 19.敏感詞匯分析要求:任意選擇一個文本文件,分析該文件,如果存在敏感詞匯(這些詞匯 保存在sentive.txt文件中,每個詞占一行),報告每個詞出現(xiàn)的次數(shù)。20. 一個簡單的學(xué)生成績管理信息系統(tǒng)數(shù)據(jù)要求:1)建立的數(shù)據(jù)庫中包含如下信息:學(xué)生學(xué)號、姓名、班級,語 文、數(shù)學(xué)、英
8、語成績。 2)至少要有5個班級,每個班級要有10名以上學(xué)生。 3)使用.txt格式文本表示各種表。功能需求: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分及以上)、不及格率,并進行排序。界面要求:1)盡量使用圖形界面實現(xiàn),要符合日常軟件使用規(guī)范來設(shè)計 菜單和界面。2)如果無法實現(xiàn)圖形界面,則在命令行方式下也需要提供菜單, 方便用戶操作。附錄:Java編碼規(guī)范、Java命名
9、約定 采用適用于相關(guān)領(lǐng)域的術(shù)語采用大小寫混合使名字可讀盡量少用縮寫,但如果用了,要明智地使用,且在整個工程中統(tǒng)避免使用長的名字(一般小于15個字母)避免使用類似的名字,或者僅僅是大小寫不同的名字避免使用下劃線(除靜態(tài)常量等)包(Package )采用完整的英文描述符,應(yīng)該都是由小寫字母組成。類(Class )采用完整的英文描述符,所有單詞的第一個字母大寫(一些專有的縮寫詞,比如:AWTException等則除外)。Class的名字建議使用名詞或者名詞短語。例如:Customer,SavingsAccount , LayoutManager 等接口( Interface )接口的名字取決于接口的
10、主要功能和用途。如果接口是使對象具有某種特定的功能,則接口的名字建議使用可以描述這種功能的形容詞(加上-able或者-ible后綴)例如:Searchable , Sortable , NetworkAccessible 等如果接口不是使對象具有某種特定的功能則建議使用名詞或者名詞短語(同類的命名規(guī)則)。組件/部件(Component )使用完整的英文描述來說明組件的用途,末端應(yīng)接上組件類型。okButton,customerList,fileMenu異常(Exception )通常采用字母e表示異常類變量字段采用完整的英文描述,第一個字母小寫,任何中間單詞的首字母大寫firstName, l
11、astName靜態(tài)常量字段(static final )全部采用大寫字母,單詞之間用下劃線分隔。MIN_BALANCE,DEFAULT_DATE方法方法命名采用大小寫混合的形式。以小寫字母開頭,名字中其他單詞的首字母以大寫字母開頭,所有其它的單詞都為小寫字母,不要使用下劃線分隔單詞。方法的命名應(yīng)該能描繪出方法的作用和功能,方法的名字建議使用祈使動詞或者動詞短語。例如: showStatus () , drawCircle () , addLayoutComponent ()成員函數(shù)被訪問字段名的前面加上前綴get。getFirstName(), getLastName()布爾型的獲取成員函數(shù)
12、所有的布爾型獲取函數(shù)必須用單詞is做前綴。isPersistent(), isString();設(shè)置成員函數(shù)被訪問字段名的前面加上前綴 set setFirstName(), setLastName(),setWarpSpeed()二、空白的使用相關(guān)空行規(guī)范空行的使用有益于將代碼按照邏輯分段,提高代碼的可讀性。在下列情況下建議使 用一個空行:在版權(quán)聲明塊、包聲明塊、引用聲明塊之后;在類的聲明之間;在方法的聲明之間;在類中聲明最后一個屬性之后,聲明第一個方法之前??崭褚?guī)范下列情況建議使用單個空格(不是Tab):在一個關(guān)鍵字和它所修飾的塊之間??捎糜谌缦碌年P(guān)鍵字:catch , for , if
13、, switch ,synchronized , while 。下列關(guān)鍵字的后面不要跟隨空格:super , this 。在一個參數(shù)列表中逗號之后??崭癫粦?yīng)該置于方法名與其左括號之間左括號和后一個字符之間不應(yīng)該出現(xiàn)空格右括號和前一個字符之間也不應(yīng)該出現(xiàn)空格例如:public setMethod(int i, String j)縮進規(guī)范行的縮進要求是四個空格。由于在使用不同的源代碼管理工具時Tab字符將因為用戶設(shè)置的不同而擴展為不同的寬度,所以請不要使用Tab鍵。建議修改各管理工具的設(shè)置將Tab字符擴展成4個空格。三、循環(huán)計數(shù)器通常采用字母i, j, k或者counter都可以接受。i, j,
14、k, counter四、Java注釋約定一個很好的可遵循的有關(guān)注釋的經(jīng)驗法則是:問問你自己,你如果從未見過這段代碼, 要在合理的時間內(nèi)有效地明白這段代碼,你需要哪些信息。 一般概念注釋應(yīng)該增加代碼的清晰度保持注釋的簡潔在寫代碼之前寫注釋(建議)對于復(fù)雜點的邏輯,注釋出為什么做了一些事,而不僅僅是做了什么示范文檔注釋 在緊靠接口、類、成員函數(shù)和字段聲明的前面注釋它們。單行 在成員函數(shù)內(nèi)采用單行注釋,來說明業(yè)務(wù)邏輯、 代碼段和暫時變量的聲明。注釋符后必須緊跟一個空格,然后才是注釋信息。注釋哪些部分類 類的目的、即類所完成的功能,注釋出采用的不變量。接口設(shè)置接口的目的、它應(yīng)如何被使用以及如何不被使用
15、。成員函數(shù)注釋 對于設(shè)置與獲取成員函數(shù),在成員變量已有說明的情況下,可以不加注釋;普通成員函數(shù)要求說明完成什么功能,參數(shù)含義是什么返回什么;普通成員函數(shù)內(nèi)部注釋控制結(jié)構(gòu),代碼做了些什么以及為什么這樣做,處理順序等。實參/參數(shù)參數(shù)含義、及其它任何約束或前提條件字段/屬性字段描述局部變量無特別意義的情況下不加注釋五、Java文件樣式約定所有的Java(*.java)文件都必須遵守如下的樣式規(guī)則:1)版權(quán)信息版權(quán)信息必須在java文件的開頭,比如:/* * Copyright ? 2000 Shanghai XXX Co. Ltd. * All right reserved. */其他不需要出現(xiàn)在j
16、avadoc的信息也可以包含在這里。Package/Importspackage行要在import行之前,import中標準的包名要在本地的包名之前, 而且按照 字母順序排列。如果import行中包含了同一個包中的不同子目錄,則應(yīng)該用*來處理。(如果有特殊要求,可以不采用*來處理,有時候那樣更加明確使用了那些類)package .stats;import java.io.*;import java.util.Observable;import hotlava.util.Application;這里 java.io.* 是用來代替 InputStream and OutputStream 的。C
17、lass接下來的是類的注釋,一般是用來解釋類的。接下來是類定義,包含了在不同的行的extends和implementspublic class CounterSet extends Observable implements CloneableClass Fields接下來是類的成員變量:public的成員變量必須生成文檔(JavaDoc )。proceted、private和package定義的成員變量如果名字含義明確的話,可以沒有注釋。(建議都加注釋,以便更明確,一目了然)5)存取方法(類的設(shè)置與獲取成員函數(shù))接下來是類變量的存取的方法。6)構(gòu)造函數(shù)接下來是構(gòu)造函數(shù),它應(yīng)該用遞增的方式寫(
18、比如:參數(shù)多的寫在后面)。public CounterSet(int size)this.size = size;7)類方法(類的普通成員函數(shù))下面開始寫類的方法:toString 方法一般情況下,每一個類都應(yīng)該定義toString方法:public String toString() main 方法普通類,考慮置入一個 main()方法,其中包含用于測試那個類的代碼,如果包含了 main()方法,那么它應(yīng)該寫在類的底部。六、Java編碼其它約定文檔化必須用javadoc來為類生成文檔。不僅因為它是標準,這也是被各種java編譯器都認可 的方法??s進縮進應(yīng)該是每行2個(或4個)空格。盡量不要在
19、源文件中保存Tab字符,在使用不同的源代碼管理工具時 Tab字符將因為用戶設(shè)置的不同而擴展為不同的寬度。如果你使用 UltrEdit作為你的Java源代碼編輯器的話,你可以通過如下操作來禁止保存Tab字符,方法是通過 UltrEdit中先設(shè)定Tab使用的長度室2個空格,然后用Format|Tabs to Spaces 菜單將 Tab轉(zhuǎn)換為空格。頁寬換行頁寬應(yīng)該設(shè)置為80字符。 源代碼一般不會超過這個寬度,并導(dǎo)致無法完整顯示,但這一設(shè)置也可以靈活調(diào)整。在任何情況下,一條語句折行后, 應(yīng)該比原來的語句再縮進 2個字符??梢砸罁?jù)如下一般規(guī)則斷開:在一個逗號后面斷開在一個操作符前面斷開寧可選擇較高級別
20、(higher-level)的斷開,而非較低級別(lower-level)的斷開新的一行應(yīng)該與上一行同一級別表達式的開頭處對齊如果以上規(guī)則導(dǎo)致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進8個空格。對中的語句應(yīng)該單獨作為一行。例如,下面的第1行是錯誤的,第2行是正確的:if (i0) i + ; / 錯誤,和在同一行/下面寫法正確,單獨作為一行if (i0) i +;括號左括號和后一個字符之間不應(yīng)該出現(xiàn)空格;同樣,右括號和前一個字符之間也不應(yīng)該出現(xiàn)空格。下面的例子說明括號和空格的錯誤及正確使用:CallProc( AParameter ); / 錯誤CallProc(AParamete
21、r); / 正確 不要在語句中使用無意義的括號,括號只應(yīng)該為達到某種目的而出現(xiàn)在源代碼中。JSP文件命名采用完整的英文描述說明JSP所完成的功能,盡可能包括一個生動的動詞,第一個字母小寫, 如: viewMessage.jsp 、 editUser.jsp 或者 forumChooser.jsp 等。Servlet類命名一般對應(yīng)于所服務(wù)的對象加后綴Service來命名,如:UserService , TradeService 等。七、一些編程建議使用StringBuffer 對象在處理String的時候要盡量使用StringBuffer類,StringBuffer類是構(gòu)成 String類的基礎(chǔ)。String類將St
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度會議攝影攝像與視頻制作服務(wù)合同4篇
- 2025年度基礎(chǔ)設(shè)施項目鋼筋供應(yīng)與承包合同書4篇
- 2025年度車房租賃與智慧停車系統(tǒng)合作合同4篇
- 二零二五年度山地生態(tài)保護補償承包合同4篇
- 二零二五年電信網(wǎng)絡(luò)信息安全評估合同范本2篇
- 2025年度智能生產(chǎn)車間承包管理合同4篇
- 二零二五版擔(dān)保公司擔(dān)保貸款反擔(dān)保合同3篇
- 2025年度城市綠化帶養(yǎng)護與管理合同4篇
- 2025年度商鋪交易合同范本(精裝修交付)4篇
- 2025年度智能化廠房產(chǎn)權(quán)轉(zhuǎn)讓居間服務(wù)合同4篇
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合試卷(含答案)
- 收養(yǎng)能力評分表
- 山東省桓臺第一中學(xué)2024-2025學(xué)年高一上學(xué)期期中考試物理試卷(拓展部)(無答案)
- 中華人民共和國保守國家秘密法實施條例培訓(xùn)課件
- 管道坡口技術(shù)培訓(xùn)
- 2024年全國統(tǒng)一高考英語試卷(新課標Ⅰ卷)含答案
- 2024年認證行業(yè)法律法規(guī)及認證基礎(chǔ)知識 CCAA年度確認 試題與答案
- 皮膚儲存新技術(shù)及臨床應(yīng)用
- 外研版七年級英語上冊《閱讀理解》專項練習(xí)題(含答案)
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- 上海市復(fù)旦大學(xué)附中2024屆高考沖刺模擬數(shù)學(xué)試題含解析
評論
0/150
提交評論