特遣隊組建管理系統(tǒng)_第1頁
特遣隊組建管理系統(tǒng)_第2頁
特遣隊組建管理系統(tǒng)_第3頁
特遣隊組建管理系統(tǒng)_第4頁
特遣隊組建管理系統(tǒng)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

特遣隊組建管理系統(tǒng)

講師:李賀飛新浪微博:尚硅谷-李賀飛目標(biāo)模擬實現(xiàn)一個基于文本界面的《特遣隊組建管理系統(tǒng)》熟悉Java面向?qū)ο蟮母呒壧匦?,進(jìn)一步掌握編程技巧和

調(diào)試技巧主要涉及以下知識點:類的繼承和多態(tài)對象的關(guān)聯(lián)static和final修飾符特殊類的使用異常處理需求說明模擬實現(xiàn)基于文本界面的《特遣隊組建管理系統(tǒng)》。該軟件實現(xiàn)以下功能:軟件啟動時,根據(jù)給定的數(shù)據(jù)創(chuàng)建部隊士兵列表(數(shù)組)根據(jù)菜單提示,基于現(xiàn)有的部隊士兵,組建一個特遣戰(zhàn)隊以完成一個新的任務(wù)。組建過程包括將士兵插入到特遣隊中,或從特遣隊中刪除某士兵,還可以列出特遣隊中現(xiàn)在成員的列表特遣隊成員包括指揮官、特種兵和步兵需求說明

本軟件采用單級菜單方式工作。當(dāng)軟件運行時,主界面顯示部隊士兵(部分)的列表,如下:-------------------------------------特遣隊組建管理系統(tǒng)--------------------------------------ID姓名年齡戰(zhàn)斗力兵種狀態(tài)野外生存指揮等級配備武器

1西施223000.02諸葛亮3218000.0指揮官FREE15000.05級 AK47(7.62毫米)3魯智深237000.0步兵FREE 沙漠之鷹(9000)4趙子龍247300.0步兵FREE 95式(5.8毫米)5李師師2810000.0特種兵FREE10000.0 中國QSG92(10000)……---------------------------------------------------------------------------------------------------1-特遣隊列表2-添加特遣隊成員3-刪除特遣隊成員4-退出請選擇(1-4):_需求說明當(dāng)選擇“添加特遣隊成員”菜單時,將執(zhí)行從列表中添加指定(通過ID)士兵到特遣隊的功能:1-特遣隊列表2-添加特遣隊成員3-刪除特遣隊成員4-退出請選擇(1-4):2---------------------添加成員---------------------請輸入要添加的士兵ID:2添加成功按回車鍵繼續(xù)...添加成功后,按回車鍵將重新顯示主界面。特遣隊成員組成要求:最多一名指揮官最多兩名特種兵最多三名步兵需求說明

如果添加操作因某種原因失敗,將顯示類似以下信息(失敗原因視具體原因而不同):1-特遣隊列表2-添加特遣隊成員3-刪除特遣隊成員4-退出請選擇(1-4):2---------------------添加成員---------------------請輸入要添加的士兵ID:2添加失敗,原因:該員已是特遣隊成員按回車鍵繼續(xù)...

失敗信息包含以下幾種:特遣隊成員已滿,無法添加該士兵是普通士兵,無法添加該士兵已是特遣隊員該士兵正在休假,無法添加該士兵已是特遣隊員特遣隊中只能有一名指揮官特遣隊中只能有兩名特種兵特遣隊中只能有三名步兵需求說明

當(dāng)選擇“刪除特遣隊成員”菜單時,將執(zhí)行從特遣隊中刪除指定(通過TeamID)特遣隊員的功能:1-特遣隊列表2-添加特遣隊成員3-刪除特遣隊成員4-退出請選擇(1-4):2---------------------刪除成員---------------------請輸入要刪除士兵的TID:1確認(rèn)是否刪除(Y/N):y刪除成功按回車鍵繼續(xù)...

刪除成功后,按回車鍵將重新顯示主界面。需求說明當(dāng)選擇“特遣隊列表”菜單時,將列出特遣隊中的現(xiàn)有成員,例如:--------------------特遣隊成員列表---------------------TID/ID姓名年齡戰(zhàn)斗力兵種野外生存指揮等級

2/4張三豐247300.0步兵

3/2令狐沖3218000.0指揮官15000.020004/6趙敏226800.0步兵

5/12黃蓉279600.0特種兵4800.0-----------------------------------------------------1-特遣隊列表2-添加特遣隊成員3-刪除特遣隊成員4-退出請選擇(1-4):軟件設(shè)計結(jié)構(gòu)該軟件由以下三個模塊組成:com.atguigu.team.view模塊為主控模塊,負(fù)責(zé)菜單的顯示和處理用戶操作com.atguigu.team.service模塊為實體對象(Soldier及其子類如步兵等)的管理模塊,NameListService和TeamService類分別用各自的數(shù)組來管理所有士兵和特遣隊成員對象NameListServiceTeamViewTeamServiceSoldiercom.atguigu.teamviewTeamExceptionservicedomain軟件設(shè)計結(jié)構(gòu)com.atguigu.team.domain模塊中包含了所有實體類:其中士兵(Infantry)及其子類,均會領(lǐng)用某種武器設(shè)備(Weapon)。Soldier<<interface>>WeaponInfantrySpecialTroopsCommanderGrenadeRiflePistol普通士兵SoldierIdnameagefighting:戰(zhàn)斗力步兵Weapon:特種兵field:野外生存能力指數(shù)指揮官commanderRating指揮權(quán)限等級多層繼承:

①能提高代碼復(fù)用性

②子類可以父類的特殊類型(多態(tài))Soldier類及其子類的設(shè)計說明:fighting用來描述士兵的戰(zhàn)斗力memberId用來記錄士兵加入特遣隊后在團(tuán)隊中的IDstatus是項目自定義的枚舉類型,表示成員的狀態(tài):FREE-空閑BUSY-已加入特遣隊VOCATION-正在休假weapon表示該成員領(lǐng)用的武器可根據(jù)需要自行為類提供各屬性的get/set方法以及重載構(gòu)造器Soldier-id:intname:Stringage:intfighting:double+Soldier(id:int,name:String,age:int,fighting:double)Infantry-memberId:intstatus:Statusweapon:Weapon+Infantry(id:int,name:String,age:int,fighting:double,weapon:Weapon)士兵Idnameagefighting:戰(zhàn)斗力步兵Weapon:武器特種兵field:野外生存指數(shù)指揮官commanderRating指揮權(quán)限等級多層繼承:

①提高代碼的復(fù)用性

②產(chǎn)生特殊的類型(多態(tài))Status枚舉類Status枚舉類位于com.atguigu.team.service包中,其代碼如下:packagecom.atguigu.team.service;publicenumStatus{FREE,BUSY,VOCATION}Soldier類及其子類的設(shè)計說明:field為野外生存能力指數(shù)commanderRating表示指揮權(quán)限級別可根據(jù)需要自行為類提供各屬性的get/set方法以及重載構(gòu)造器SpecialTroopsfield:double+SpecialTroops(id:int,name:String,age:int,salary:double,weapon:Weapon,field:double)CommandercommanderRating:int+Commander(id:int,name:String,age:int,salary:double,weapon:Weapon,field:double,commanderRating:int)Weapon接口及其實現(xiàn)子類的設(shè)計說明:model表示武器型號force表示威力指數(shù)size表示口徑尺寸(即子彈的大小,如:5.48mm)可根據(jù)需要自行為類提供各屬性的get/set方法以及重載構(gòu)造器<<interface>>Weapon+getDescription():StringRiflemodel:Stringsize:double+Rifle(model:String,size:double)Pistolmodel:Stringforce:double+Pistol(model:String,force:double)Grenadetype:Stringname:String+Grenade(type:String,name:String)NameListService類的設(shè)計說明:soldiers用來保存所有士兵對象NameListService()構(gòu)造器:根據(jù)項目提供的Data類構(gòu)建相應(yīng)大小的soldiers數(shù)組再根據(jù)Data類中的數(shù)據(jù)構(gòu)建不同的對象,包括Soldier、Infantry、SpecialTroops和Commander對象,以及相關(guān)聯(lián)的Weapon子類的對象將對象存于數(shù)組中Data類位于com.atguigu.team.service包中NameListService+NameListService()+getAllSoldiers():Soldier[]+getSoldier(intid)throwsTeamException:Soldier-soldiers:Soldier[]NameListService類的設(shè)計說明:getAllSoldiers()方法:獲取當(dāng)前所有士兵。返回:包含所有士兵對象的數(shù)組getSoldier(id:int)方法:獲取指定ID的士兵對象。參數(shù):指定士兵的ID返回:指定士兵對象異常:找不到指定的士兵另外,可根據(jù)需要自行添加其他方法或重載構(gòu)造器NameListService+NameListService()+getAllSoldiers():Soldier[]+getSoldier(intid)throwsTeamException:Soldier-soldiers:Soldier[]TeamService類的設(shè)計說明:counter為靜態(tài)變量,用來為特遣隊新增成員自動生成團(tuán)隊中的唯一ID,即memberId。(提示:應(yīng)使用增1的方式)MAX_MEMBER表示特遣隊中最大成員數(shù)team數(shù)組用來保存當(dāng)前特遣隊中的各成員對象total記錄特遣隊成員的實際人數(shù)TeamService+getTeam():Infantry[]+addMember(s:Soldier)throwsTeamException:void+removeMember(memberId:int)throwsTeamException:void-counter:int=1MAX_MEMBER:finalint=5team:Infantry[]=newInfantry[MAX_MEMBER];-total:int=0;TeamService類的設(shè)計說明:getTeam()方法:返回當(dāng)前特遣隊的所有對象返回:包含所有成員對象的數(shù)組,數(shù)組大小與成員人數(shù)一致addMember(s:Soldier)方法:向特遣隊中添加士兵參數(shù):待添加士兵的對象異常:添加失敗,

TeamException中包含了失敗原因removeMember(memberId:int)方法:從特遣隊中刪除成員參數(shù):待刪除成員的memberId異常:刪除失敗,

TeamException中包含了失敗原因另外,可根據(jù)需要自行添加其他方法或重載構(gòu)造器TeamService+getTeam():Infantry[]+addMember(s:Soldier)throwsTeamException:void+removeMember(memberId:int)throwsTeamException:voidTeamView類的設(shè)計說明:listSvc和teamSvc屬性:供類中的方法使用enterMainMenu()方法:主界面顯示及控制方法。以下方法僅供enterMainMenu()方法調(diào)用:listAllSoldiers()方法:以表格形式列出部隊所有士兵addMember()方法:實現(xiàn)添加成員操作deleteMember()方法:實現(xiàn)刪除成員操作TeamView+enterMainMenu():void-listAllSoldiers():void-addMember():void-deleteMember():void+main(args:String[]):void-listSvc:NameListService=newNameListService()-teamSvc:TeamService=newTeamService()鍵盤訪問的實現(xiàn)項目中提供了TSUtility.java類,可用來方便地實現(xiàn)鍵盤訪問。該類提供了以下靜態(tài)方法:publicstaticcharreadMenuSelection()

用途:該方法讀取鍵盤,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論