版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄目錄1設(shè)計任務(wù)書2課程設(shè)計任務(wù)2程序功能實現(xiàn):31.程序主體32.流程圖:43.模塊說明43.1、主菜單四個選項43.2、教師功能菜單53.3、學(xué)生功能菜單53.4、查找菜單64源代碼及說明64.1、liststutea 類64.2、menu 類104.3、studnteach 類164.4、student 類194.5、teacher 類194.6、person 類204.7、lkexecption類214.8、mainstutea類235.操作方法和測試結(jié)果245.1.1、教師信息顯示245.1.2、教師信息添加245.1.3、教師信息刪除255.1.4、教師信息查找265.2、學(xué)生菜
2、單實現(xiàn)286.設(shè)計體會28設(shè)計任務(wù)書問題描述: 編寫程序?qū)Υ髮W(xué)里的人員進行管理。大學(xué)里的人員主要由學(xué)生、教師和在職進修教師(既是學(xué)生又是教師)組成,各類人員均有姓名、電話和住址等信息,學(xué)生另有所屬專業(yè)信息,教師另有所在系部、授課信息及工資信息,在職進修教師具備以上各類人員的信息。 要求: 1、設(shè)計person類,保存各類人員均有的姓名、電話和住址等信息。 2、設(shè)計student類或接口,繼承person類,并添加所屬專業(yè)班級信息。 3、設(shè)計teacher類接口,繼承person類,并添加所在系部信息,授課信息及工資信息。 4、設(shè)計studenteacher類,繼承student類接口和teac
3、he類接口。其具備以上各類人員信息。 5、把創(chuàng)建的所有studenteacher對象按照其所屬系部依次組織在一個文件中方便查詢、修改、刪除及添加等操作。 6、對各類的對象進行信息輸入操作,輸入信息包括該類對象的所有信息。 7、對各類的對象進行輸出操作,顯示輸出該類對象的所有信息課程設(shè)計任務(wù)及設(shè)計人設(shè)計任務(wù):大學(xué)人員信息管理系統(tǒng)課程目的:1、復(fù)習(xí)、鞏固java語言的基礎(chǔ)知識,進一步加深對java語言的理解和掌握;2、課程設(shè)計為學(xué)生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結(jié)合起來,鍛煉學(xué)生的分析解決實際問題的能力。提高學(xué)生適應(yīng)實際,實踐編程的能力;3、培養(yǎng)學(xué)生在項目開
4、發(fā)中團隊合作精神、創(chuàng)新意識及能力。課程要求:1、對系統(tǒng)進行功能模塊分析、控制模塊分析正確,符合課題要求,實現(xiàn)相應(yīng)功能;可以加以其他功能或修飾,使程序更加完善、合理;2、系統(tǒng)設(shè)計要實用,編程簡練,可用,功能全面3、說明書、流程圖要清楚4、記錄設(shè)計情況(備查,也為編寫設(shè)計說明書作好準(zhǔn)備);5、要求采用模塊化程序設(shè)計方法,及鋸齒型書寫格式,要求上機調(diào)試通過和按設(shè)計報告格式。6、本設(shè)計需要實現(xiàn)java的面向?qū)ο箝_發(fā)運用到的有java的接口,java的繼承,java的異常處理,java類的封裝。能夠在異常輸入的情況下,能正確處理。最后得到正確結(jié)果。程序功能實現(xiàn):一、 按照課程的要求實現(xiàn)學(xué)生和教師的基本信
5、息的錄入。二、 把輸入的教師和學(xué)生信息顯示出來。三、 有姓名和專業(yè)兩種查找方式去分別把老師和學(xué)生的信息查找并且顯示出來。四、 刪除選項可以刪除相應(yīng)學(xué)生和老師信息。五、 用switch語句實現(xiàn)菜單功能,字符界面做到簡潔清晰六、 異常處理處理錯誤的輸入并且返回錯誤的提示,更正后填入正確數(shù)據(jù)。1.程序主體1、 設(shè)計分析:1.1、 實體是實現(xiàn)程序思想的主要方式,首先應(yīng)該分為學(xué)生和老師2個入口,分別做查詢和信息添加、顯示、刪除和查找的功能。1.2、 學(xué)生和老師的信息輸入考慮要求多名信息考慮用對象數(shù)組去實現(xiàn)。但是對象數(shù)組的刪除不是本學(xué)期的內(nèi)容。且排序麻煩??紤]用其他方式實現(xiàn)信息錄入,查閱相關(guān)信息發(fā)現(xiàn)可以使
6、用list對象實現(xiàn)信息錄入和刪除。1.3、 菜單使用switch語句實現(xiàn)菜單功能,菜單的相互調(diào)用實現(xiàn)功能的循環(huán)。2.流程圖:3.模塊說明3.1、主菜單四個選項學(xué)生入口:這個模塊與學(xué)生功能模塊相連。教師入口:這個模塊與教師功能模塊相連顯示全部信息:這個模塊顯示所有的老師和學(xué)生信息3.2、教師功能菜單顯示教師信息:這個模塊顯示輸入的教師信息,如果不存在提示輸入信息添加教師信息:這個模塊添加教師基本信息刪除教師信息:這個模塊按照序號刪除教師信息,如果不存在提示信息輸入查找教師信息:按照姓名和專業(yè)查找教師信息返回上一級菜單:返回主菜單3.3、學(xué)生功能菜單顯示學(xué)生信息:這個模塊顯示輸入的教師信息,如果不
7、存在提示輸入信息添加學(xué)生信息:這個模塊添加教師基本信息刪除學(xué)生信息:這個模塊按照序號刪除教師信息,如果不存在提示信息輸入查找學(xué)生信息:按照姓名和專業(yè)查找學(xué)生信息返回上一級菜單:返回主菜單3.4、查找菜單按照姓名查找:查找模塊,按照姓名查找,如果不存在則提示輸入信息。按照專業(yè)查找:查找模塊,按照專業(yè)查找,如果不存在則提示輸入信息。返回上一級菜單:返回主菜單4源代碼及說明4.1、liststutea 類 用來實現(xiàn)學(xué)生和教師數(shù)據(jù)添加、刪除、查找的方法import java.util.*;import lkexecption.lkexecption;public class liststutea ex
8、tends studnteachfinal int size = 50;/最大學(xué)生和教師人數(shù)liststutea st = new liststuteasize;/學(xué)生和老師對象數(shù)組scanner into = new scanner(system.in);list list1=new arraylist();list list2=new arraylist();public int getteanumber() /返回教師鏈表長度return list1.size();public int getstunumber() /返回學(xué)生鏈表長度return list2.size();public
9、int getnumber() / todo auto-generated method stubreturn list2.size()+list1.size();public void findstuname()string tpname;boolean zy = true;studnteach point;system.out.println(請輸入學(xué)生姓名:);tpname = into.nextline();for(int i = 0;igetstunumber();i+)point =list2.get(i);if(tpname.equals()system.ou
10、t.println(要查找的姓名存在);showstu(i,point);zy = false;if(zy)system.out.println(沒有該學(xué)生);if(getstunumber()=0)system.out.println(警告!學(xué)生數(shù)據(jù)為空請?zhí)砑訑?shù)據(jù));public void findteaname()string tpname;boolean zy = true;studnteach point;system.out.println(請輸入教師姓名:);tpname = into.nextline();for(int i = 0;igetteanumber();i+)poin
11、t =list1.get(i);if(tpname.equals()system.out.println(要查找的姓名存在);showtea(i,point);zy = false; /標(biāo)志位/break;if(zy)system.out.println(沒有該老師);if(getteanumber()=0)system.out.println(警告!老師數(shù)據(jù)為空請?zhí)砑訑?shù)據(jù));public void findteaspec()string tpspec;boolean zy = true;studnteach point;system.out.println(請輸入教師專業(yè)
12、:);tpspec = into.nextline();for(int i = 0;igetteanumber();i+)point =list1.get(i);if(tpspec.equals(point.getteaspeciality()showtea(i,point);zy = false;/標(biāo)志位if(zy)system.out.println(沒有該專業(yè)的老師);if(getteanumber()=0)system.out.println(警告!老師數(shù)據(jù)為空請?zhí)砑訑?shù)據(jù));public void findstuspec()string tpstu;boolean zy = true;
13、studnteach point;system.out.println(請輸入學(xué)生專業(yè):);tpstu = into.nextline();for(int i = 0;igetstunumber();i+)point =list2.get(i);if(tpstu.equals(point.getstuspeciality()showstu(i,point);zy = false;/標(biāo)志位if(zy)system.out.println(沒有選修該專業(yè)的學(xué)生);if(getstunumber()=0)system.out.println(警告!學(xué)生數(shù)據(jù)為空請?zhí)砑訑?shù)據(jù));public void s
14、howstu(int n,studnteach point)point=list2.get(n);system.out.println(學(xué)生編號:+n);system.out.println(姓名:++ 性別:+point.sex+ 年齡:+point.age);system.out.println(電話:+point.phone);system.out.println(地址:+point.address);system.out.println(專業(yè):+point.getstuspeciality();system.out.println(班級:+point.getclas
15、sname();public void showtea(int n,studnteach point)point=list1.get(n);system.out.println(教師編號:+n);system.out.println(姓名:++ 性別:+point.sex+ 年齡:+point.age);system.out.println(電話:+point.phone);system.out.println(地址:+point.address);system.out.println(專業(yè):+point.getteaspeciality();system.out.prin
16、tln(工資:+point.getpay();public void addstu(int n) throws lkexecptionstn = new liststutea();stn.add();stn.setclassname();stn.setstuspeciality();list2.add(stn);if(list2.size()!=0)system.out.println(添加學(xué)生成功);public void addtea(int n) throws lkexecptionstn = new liststutea();stn.add();stn.setteaspeciality
17、();stn.setpay();list1.add(stn);if(list1.size()!=0)system.out.println(添加教師成功);public void deltea()system.out.println(請輸入被刪的教師編號);int k =into.nextint();if(list1.size()=k|k0)system.out.println(刪除失??!編號不存在請重新輸入!);elselist1.remove(k);system.out.println(刪除成功);public void delstu()system.out.println(請輸入被刪的學(xué)生
18、編號);int k =into.nextint();if(list2.size()=k|k0)system.out.println(刪除失??!編號不存在請重新輸入!);elselist2.remove(k);system.out.println(刪除成功);4.2、menu 類 字符菜單的實現(xiàn)import java.util.*;import lkexecption.lkexecption;public class menu scanner into = new scanner(system.in);int num = 0;list list=new arraylist();studnteac
19、h point = new liststutea();/遍歷指針public menu() throws lkexecptionmainmenu();public int setin()int t;string tpnum = null;trysystem.out.println(請輸入選項);tpnum = into.nextline();t = integer.parseint(tpnum);catch(numberformatexception e)t = new lkexecption().num1execption(tpnum);return t;void mainmenu() th
20、rows lkexecption/主菜單system.out.println(=);system.out.println(1.教師入口);system.out.println(2.學(xué)生入口);system.out.println(3.顯示全部信息);system.out.println(4.退出管理);switchmainmenu();void findmenu()/查找菜單system.out.println(-);system.out.println(1.按照姓名查找);system.out.println(2.按照專業(yè)查找);system.out.println(3.返回上一級菜單);/
21、switchmainmenu();void menutea1_1() throws lkexecption/老師菜單system.out.println(-);system.out.println(1.顯示教師信息);system.out.println(2.添加教師信息);system.out.println(3.刪除教師信息);system.out.println(4.查找教師信息);system.out.println(5.返回上一級菜單);switchmenutea1_1();void menustu1_1() throws lkexecption/學(xué)生菜單system.out.pri
22、ntln(-);system.out.println(1.顯示學(xué)生信息);system.out.println(2.添加學(xué)生信息);system.out.println(3.刪除學(xué)生信息);system.out.println(4.查找學(xué)生信息);system.out.println(5.返回上一級菜單);switchmenustu1_1();void switchfindstumenu() throws lkexecption/查找學(xué)生菜單int t;t = setin();switch(t)case 1:point.findstuname();findmenu();switchfindst
23、umenu();break;case 2:point.findstuspec();findmenu();switchfindstumenu();break;case 3:menustu1_1();switchmenustu1_1();break;default:system.out.println(輸入錯誤請重新輸入);switchfindstumenu();void switchfindteamenu() throws lkexecption/查找教師菜單int t;t = setin();switch(t)case 1:point.findteaname();findmenu();swit
24、chfindteamenu();break;case 2:point.findteaspec();findmenu();switchfindteamenu();break;case 3:menutea1_1();switchmenutea1_1();break;default:system.out.println(輸入錯誤請重新輸入);switchfindteamenu();void switchmainmenu() throws lkexecption/主菜單int t;t = setin();switch(t)case 1:menutea1_1();/老師顯示菜單break;case 2:
25、menustu1_1();/學(xué)生顯示菜單break;case 3:if(point.getnumber()=0)system.out.println(警告!數(shù)據(jù)為空請?zhí)砑訑?shù)據(jù));elsefor(int i = 0;ipoint.getteanumber();i+)point.showtea(i,point);for(int i = 0;ipoint.getstunumber();i+)point.showstu(i,point);mainmenu();break;case 4:system.out.println(歡迎再次光臨!大學(xué)人員信息管理系統(tǒng)!);break;default:system
26、.out.println(輸入錯誤請重新輸入);switchmainmenu();void switchmenutea1_1() throws lkexecptionsystem.out.println(-);int t;t = setin();switch(t)case 1:if(point.getteanumber()=0)system.out.println(警告!教師數(shù)據(jù)為空請?zhí)砑訑?shù)據(jù));for(int i = 0;ipoint.getteanumber();i+)point.showtea(i,point);menutea1_1();break;case 2:point.addtea
27、(num);num+;menutea1_1();break;case 3:point.deltea();num-;menutea1_1();break;case 4:findmenu();switchfindteamenu();break;case 5:mainmenu();break;default:system.out.println(輸入錯誤請重新輸入);switchmenutea1_1();void switchmenustu1_1() throws lkexecptionsystem.out.println(-);int t;t = setin();switch(t)case 1:i
28、f(point.getstunumber()=0)system.out.println(警告!學(xué)生數(shù)據(jù)為空請?zhí)砑訑?shù)據(jù));for(int i = 0;i120|tpnum0) /范圍判斷throw new numberformatexception();elsepd = false;catch(numberformatexception e)system.out.println(num+ 請正確的數(shù)字或者不在范圍內(nèi)!請重新輸入!);while(pd);return tpnum;public string charexecption(string mg)final string str=null;
29、/這里指定 規(guī)定字段boolean pd = true;dosystem.out.println(mg+ 不是正確字段,請輸入指定的字段);mg = into.next();for(int i =0;istr.length;i+)if(mg.equals(stri)/pd = false;while(pd);return mg;public int num1execption(string mg)string num;int tpnum = 0;system.out.println(mg+ 不是數(shù)字!請輸入數(shù)字!);dotrynum = into.nextline();tpnum = inte
30、ger.parseint(num);break;catch(numberformatexception e)system.out.println(mg+ 不是數(shù)字!請輸入數(shù)字!);while(true);return tpnum;4.8、mainstutea類 主函數(shù)調(diào)用import lkexecption.lkexecption;public class mainstutea public static void main(string args) throws lkexecptionmenu lk = new menu();5.操作方法和測試結(jié)果5.1.1、教師信息顯示選擇一進入教師信息入口選擇一進入教師信息查看因為我們沒有添加教師信息,所以他要求我們添加教師信息5.1.2、教師信息添加選擇二進入教師信息添加教師信息添加成功,如果不是指定字段輸入,出現(xiàn)異常則重新輸入如下為添加的信息輸入顯示
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度光伏發(fā)電項目安裝與全年度運維技術(shù)服務(wù)合同3篇
- 2024消防設(shè)施檢測、評估及改造合同協(xié)議書范本3篇
- 2024年行政合同管理制度與政府合同履約監(jiān)督與評估協(xié)議3篇
- 二零二五年度共有產(chǎn)權(quán)房可轉(zhuǎn)租使用權(quán)協(xié)議3篇
- 2025年度施工單位與社區(qū)居民三方和諧共建協(xié)議3篇
- 二零二五年度個性定制房產(chǎn)按揭貸款合同6篇
- 2024年度私募股權(quán)基金委托理財合同范本3篇
- 2024投標(biāo)居間服務(wù)合同-農(nóng)業(yè)現(xiàn)代化項目合作3篇
- 2024年專利權(quán)質(zhì)押擔(dān)保技術(shù)合作合同3篇
- 二零二五年度農(nóng)村集體土地流轉(zhuǎn)合同范本3篇
- 【7地星球期末】安徽省合肥市包河區(qū)智育聯(lián)盟校2023-2024學(xué)年七年級上學(xué)期期末地理試題(含解析)
- 尊重學(xué)術(shù)道德遵守學(xué)術(shù)規(guī)范學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年四川省成都市青羊區(qū)數(shù)學(xué)六上期末考試試題含解析
- 望廬山瀑布李白
- 完善程序填空數(shù)組指針 供練習(xí)
- (高清版)組合鋁合金模板工程技術(shù)規(guī)程JGJ 386-2016
- 室內(nèi)質(zhì)控品統(tǒng)一征訂單
- 《論語》誦讀計劃
- 2006年工資標(biāo)準(zhǔn)及套改對應(yīng)表
- 中英文對照財務(wù)報表-模板
- 醫(yī)院應(yīng)急預(yù)案匯編-門診突發(fā)事件應(yīng)急預(yù)案
評論
0/150
提交評論