人員信息管理系統(tǒng)java課程設計_第1頁
人員信息管理系統(tǒng)java課程設計_第2頁
人員信息管理系統(tǒng)java課程設計_第3頁
人員信息管理系統(tǒng)java課程設計_第4頁
人員信息管理系統(tǒng)java課程設計_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

目錄目錄 1設計任務書 2課程設計任務 2程序功能實現(xiàn): 31.程序主體 32.流程圖: 43.模塊說明 43.1、主菜單四個選項 43.2、教師功能菜單 53.3、學生功能菜單 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.操作方法和測試結果 245.1.1、教師信息顯示 245.1.2、教師信息添加 245.1.3、教師信息刪除 255.1.4、教師信息查找 265.2、學生菜單實現(xiàn) 286.設計體會 28設計任務書問題描述:編寫程序對大學里的人員進行管理。大學里的人員重要由學生、教師和在職進修教師(既是學生又是教師)組成,各類人員均有姓名、電話和住址等信息,學生另有所屬專業(yè)信息,教師另有所在系部、授課信息及工資信息,在職進修教師具有以上各類人員的信息。規(guī)定:1、設計Person類,保存各類人員均有的姓名、電話和住址等信息。2、設計Student類或接口,繼承Person類,并添加所屬專業(yè)班級信息。3、設計Teacher類接口,繼承Person類,并添加所在系部信息,授課信息及工資信息。4、設計StudenTeacher類,繼承Student類接口和Teache類接口。其具有以上各類人員信息。5、把創(chuàng)建的所有StudenTeacher對象按照其所屬系部依次組織在一個文獻中方便查詢、修改、刪除及添加等操作。6、對各類的對象進行信息輸入操作,輸入信息涉及該類對象的所有信息。7、對各類的對象進行輸出操作,顯示輸出該類對象的所有信息課程設計任務及設計人設計任務:大學人員信息管理系統(tǒng)課程目的:1、復習、鞏固Java語言的基礎知識,進一步加深對Java語言的理解和掌握;2、課程設計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛煉學生的分析解決實際問題的能力。提高學生適應實際,實踐編程的能力;3、培養(yǎng)學生在項目開發(fā)中團隊合作精神、創(chuàng)新意識及能力。課程規(guī)定:1、對系統(tǒng)進行功能模塊分析、控制模塊分析對的,符合課題規(guī)定,實現(xiàn)相應功能;可以加以其他功能或修飾,使程序更加完善、合理;2、系統(tǒng)設計要實用,編程簡練,可用,功能全面3、說明書、流程圖要清楚4、記錄設計情況(備查,也為編寫設計說明書作好準備);5、規(guī)定采用模塊化程序設計方法,及鋸齒型書寫格式,規(guī)定上機調試通過和按設計報告格式。6、本設計需要實現(xiàn)Java的面向對象開發(fā)運用到的有Java的接口,Java的繼承,Java的異常解決,Java類的封裝??梢栽诋惓]斎氲那闆r下,能對的解決。最后得到對的結果。程序功能實現(xiàn):按照課程的規(guī)定實現(xiàn)學生和教師的基本信息的錄入。把輸入的教師和學生信息顯示出來。有姓名和專業(yè)兩種查找方式去分別把老師和學生的信息查找并且顯示出來。刪除選項可以刪除相應學生和老師信息。用switch語句實現(xiàn)菜單功能,字符界面做到簡潔清楚異常解決解決錯誤的輸入并且返回錯誤的提醒,更正后填入對的數(shù)據。1.程序主體設計分析:實體是實現(xiàn)程序思想的重要方式,一方面應當分為學生和老師2個入口,分別做查詢和信息添加、顯示、刪除和查找的功能。學生和老師的信息輸入考慮規(guī)定多名信息考慮用對象數(shù)組去實現(xiàn)。但是對象數(shù)組的刪除不是本學期的內容。且排序麻煩??紤]用其他方式實現(xiàn)信息錄入,查閱相關信息發(fā)現(xiàn)可以使用list對象實現(xiàn)信息錄入和刪除。菜單使用switch語句實現(xiàn)菜單功能,菜單的互相調用實現(xiàn)功能的循環(huán)。2.流程圖:3.模塊說明3.1、主菜單四個選項學生入口:這個模塊與學生功能模塊相連。教師入口:這個模塊與教師功能模塊相連顯示所有信息:這個模塊顯示所有的老師和學生信息3.2、教師功能菜單顯示教師信息:這個模塊顯示輸入的教師信息,假如不存在提醒輸入信息 添加教師信息: 這個模塊添加教師基本信息刪除教師信息:這個模塊按照序號刪除教師信息,假如不存在提醒信息輸入查找教師信息:按照姓名和專業(yè)查找教師信息返回上一級菜單:返回主菜單3.3、學生功能菜單顯示學生信息:這個模塊顯示輸入的教師信息,假如不存在提醒輸入信息 添加學生信息: 這個模塊添加教師基本信息刪除學生信息:這個模塊按照序號刪除教師信息,假如不存在提醒信息輸入查找學生信息:按照姓名和專業(yè)查找學生信息返回上一級菜單:返回主菜單3.4、查找菜單按照姓名查找:查找模塊,按照姓名查找,假如不存在則提醒輸入信息。按照專業(yè)查找:查找模塊,按照專業(yè)查找,假如不存在則提醒輸入信息。返回上一級菜單:返回主菜單4.源代碼及說明4.1、listStuTea類用來實現(xiàn)學生和教師數(shù)據添加、刪除、查找的方法importjava.util.*;importlkExecption.LKExecption;publicclasslistStuTeaextendsStudnTeach{ finalintSIZE=50;//最大學生和教師人數(shù) listStuTea[]st=newlistStuTea[SIZE];//學生和老師對象數(shù)組 Scannerinto=newScanner(System.in); List<listStuTea>list1=newArrayList<listStuTea>(); List<listStuTea>list2=newArrayList<listStuTea>(); publicintgetTeaNumber()//返回教師鏈表長度 { returnlist1.size(); } publicintgetStuNumber()//返回學生鏈表長度 { returnlist2.size(); } publicintgetNumber(){ //TODOAuto-generatedmethodstub returnlist2.size()+list1.size(); } publicvoidFindStuName() { Stringtpname; booleanzy=true; StudnTeachpoint; System.out.println("請輸入學生姓名:"); tpname=into.nextLine(); for(inti=0;i<getStuNumber();i++) { point=list2.get(i); if(tpname.equals()) { System.out.println("要查找的姓名存在"); showStu(i,point); zy=false; } } if(zy) System.out.println("沒有該學生"); if(getStuNumber()==0) System.out.println("警告?。?!學生數(shù)據為空請?zhí)砑訑?shù)據"); } publicvoidFindTeaName() { Stringtpname; booleanzy=true; StudnTeachpoint; System.out.println("請輸入教師姓名:"); tpname=into.nextLine(); for(inti=0;i<getTeaNumber();i++) { point=list1.get(i); if(tpname.equals()) { System.out.println("要查找的姓名存在"); { showTea(i,point); zy=false;//標志位 } } //break; } if(zy) System.out.println("沒有該老師"); if(getTeaNumber()==0) System.out.println("警告!??!老師數(shù)據為空請?zhí)砑訑?shù)據"); } publicvoidFindteaSpec() { StringtpSpec; booleanzy=true; StudnTeachpoint; System.out.println("請輸入教師專業(yè):"); tpSpec=into.nextLine(); for(inti=0;i<getTeaNumber();i++) { point=list1.get(i); if(tpSpec.equals(point.getteaSpeciality())) { showTea(i,point); zy=false;//標志位 } } if(zy) System.out.println("沒有該專業(yè)的老師"); if(getTeaNumber()==0) System.out.println("警告?。?!老師數(shù)據為空請?zhí)砑訑?shù)據"); } publicvoidFindstuSpec() { StringtpStu; booleanzy=true; StudnTeachpoint; System.out.println("請輸入學生專業(yè):"); tpStu=into.nextLine(); for(inti=0;i<getStuNumber();i++) { point=list2.get(i); if(tpStu.equals(point.getstuSpeciality())) { showStu(i,point); zy=false;//標志位 } } if(zy) System.out.println("沒有選修該專業(yè)的學生"); if(getStuNumber()==0) System.out.println("警告?。?!學生數(shù)據為空請?zhí)砑訑?shù)據"); } publicvoidshowStu(intn,StudnTeachpoint) { point=list2.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.getstuSpeciality()); System.out.println("班級:"+point.getClassname()); } publicvoidshowTea(intn,StudnTeachpoint) { 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.println("工資:"+point.getPay()); } publicvoidaddstu(intn)throwsLKExecption { st[n]=newlistStuTea(); st[n].add(); st[n].setClassname(); st[n].setstuSpeciality(); list2.add(st[n]); if(list2.size()!=0) System.out.println("添加學生成功"); } publicvoidaddtea(intn)throwsLKExecption { st[n]=newlistStuTea(); st[n].add(); st[n].setteaSpeciality(); st[n].setPay(); list1.add(st[n]); if(list1.size()!=0) System.out.println("添加教師成功"); } publicvoiddelTea() { System.out.println("請輸入被刪的教師編號"); intk=into.nextInt(); if(list1.size()<=k||k<0) System.out.println("刪除失?。【幪柌淮嬖谡堉匦螺斎?!"); else { list1.remove(k); System.out.println("刪除成功"); } } publicvoiddelStu() { System.out.println("請輸入被刪的學生編號"); intk=into.nextInt(); if(list2.size()<=k||k<0) System.out.println("刪除失??!編號不存在請重新輸入!"); else { list2.remove(k); System.out.println("刪除成功"); } }}4.2、Menu類字符菜單的實現(xiàn)importjava.util.*;importlkExecption.LKExecption;publicclassMenu{ Scannerinto=newScanner(System.in); intnum=0; Listlist=newArrayList<StudnTeach>(); StudnTeachpoint=newlistStuTea();//遍歷指針 publicMenu()throwsLKExecption{ MainMenu(); } publicintsetIn() { intt; StringtpNum=null; try{ System.out.println("請輸入選項"); tpNum=into.nextLine(); t=Integer.parseInt(tpNum); } catch(NumberFormatExceptione) { t=newLKExecption().Num1Execption(tpNum); } returnt; } voidMainMenu()throwsLKExecption//主菜單 { System.out.println("================"); System.out.println("1.教師入口"); System.out.println("2.學生入口"); System.out.println("3.顯示所有信息"); System.out.println("4.退出管理"); switchMainMenu(); } voidFindMenu()//查找菜單 { System.out.println(""); System.out.println("1.按照姓名查找"); System.out.println("2.按照專業(yè)查找"); System.out.println("3.返回上一級菜單"); //switchMainMenu(); } voidMenuTea1_1()throwsLKExecption//老師菜單 { 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(); } voidMenuStu1_1()throwsLKExecption//學生菜單 { System.out.println(""); System.out.println("1.顯示學生信息"); System.out.println("2.添加學生信息"); System.out.println("3.刪除學生信息"); System.out.println("4.查找學生信息"); System.out.println("5.返回上一級菜單"); switchMenuStu1_1(); } voidswitchFindStuMenu()throwsLKExecption//查找學生菜單 { intt; t=setIn(); switch(t) { case1: point.FindStuName(); FindMenu(); switchFindStuMenu(); break; case2: point.FindstuSpec(); FindMenu(); switchFindStuMenu(); break; case3: MenuStu1_1(); switchMenuStu1_1(); break; default: System.out.println("輸入錯誤請重新輸入"); switchFindStuMenu(); } } voidswitchFindTeaMenu()throwsLKExecption//查找教師菜單 { intt; t=setIn(); switch(t) { case1: point.FindTeaName(); FindMenu(); switchFindTeaMenu(); break; case2: point.FindteaSpec(); FindMenu(); switchFindTeaMenu(); break; case3: MenuTea1_1(); switchMenuTea1_1(); break; default: System.out.println("輸入錯誤請重新輸入"); switchFindTeaMenu(); } } voidswitchMainMenu()throwsLKExecption//主菜單 { intt; t=setIn(); switch(t) { case1: MenuTea1_1();//老師顯示菜單 break; case2: MenuStu1_1();//學生顯示菜單 break; case3: if(point.getNumber()==0) System.out.println("警告?。?!數(shù)據為空請?zhí)砑訑?shù)據"); else{ for(inti=0;i<point.getTeaNumber();i++) point.showTea(i,point); for(inti=0;i<point.getStuNumber();i++) point.showStu(i,point); } MainMenu(); break; case4: System.out.println("歡迎再次光顧!大學人員信息管理系統(tǒng)??!"); break; default: System.out.println("輸入錯誤請重新輸入"); switchMainMenu(); } } voidswitchMenuTea1_1()throwsLKExecption { System.out.println(""); intt; t=setIn(); switch(t) { case1: if(point.getTeaNumber()==0) System.out.println("警告?。。〗處煍?shù)據為空請?zhí)砑訑?shù)據"); for(inti=0;i<point.getTeaNumber();i++) point.showTea(i,point); MenuTea1_1(); break; case2: point.addtea(num); num++; MenuTea1_1(); break; case3: point.delTea(); num--; MenuTea1_1(); break; case4: FindMenu(); switchFindTeaMenu(); break; case5: MainMenu(); break; default: System.out.println("輸入錯誤請重新輸入"); switchMenuTea1_1(); } } voidswitchMenuStu1_1()throwsLKExecption { System.out.println(""); intt; t=setIn(); switch(t) { case1: if(point.getStuNumber()==0) System.out.println("警告?。?!學生數(shù)據為空請?zhí)砑訑?shù)據"); for(inti=0;i<point.getStuNumber();i++) point.showStu(i,point); MenuStu1_1(); case2: point.addstu(num); num++; MenuStu1_1(); break; case3: point.delStu(); num--; MenuStu1_1(); break; case4: FindMenu(); switchFindStuMenu(); break; case5: MainMenu(); break; default: System.out.println("輸入錯誤請重新輸入"); MenuStu1_1(); } }}4.3、StudnTeach類繼承于教師和學生接口實現(xiàn)它們抽象方法,且繼承人類屬性。importjava.util.*;importlkExecption.LKExecption;classStudnTeachextendsPersonimplementsStudent,Teacher{ Scannerinto=newScanner(System.in); floatpay=0;//工資 Stringclassname=null;//班級 StringstuSpec=null;//老師專業(yè) StringteaSpec=null;//學生專業(yè) voidadd()throwsLKExecption { setName(); setSex(); setAge(); setPhone(); System.out.println("請輸入地址"); address=into.nextLine(); } publicvoidaddstu(intn)throwsLKExecption{ //add(); //setClassname(); //setstuSpeciality(); } publicvoidaddtea(intn)throwsLKExecption{ //add(); //setteaSpeciality(); //setPay(); } publicvoidsetPay(){ StringtpNum=null; try{ System.out.println("請輸入工資:"); tpNum=into.nextLine(); pay=Integer.parseInt(tpNum); } catch(NumberFormatExceptione) { pay=newLKExecption().Num1Execption(tpNum); } } publicfloatgetPay(){ returnpay; } publicvoidsetClassname(){ System.out.println("請輸入班級:"); classname=into.nextLine(); } publicStringgetClassname(){ returnclassname; } publicvoidsetstuSpeciality(){ System.out.println("請輸入專業(yè):"); stuSpec=into.nextLine(); } publicStringgetstuSpeciality(){ returnstuSpec; } publicvoidsetteaSpeciality(){ System.out.println("請輸入專業(yè):"); teaSpec=into.nextLine(); } publicStringgetteaSpeciality(){ returnteaSpec; } publicvoidshow(booleanb,intnum,StudnTeachpoint){ } publicvoidshowStu(intnum,StudnTeachpoint){ } publicvoidshowTea(intnum,StudnTeachpoint){ } publicintgetStuNumber(){ return0; } publicintgetTeaNumber(){ return0; } publicintgetNumber(){ return0; } publicvoiddelStu(){ } publicvoiddelTea(){ } publicvoidFindStuName(){ } publicvoidFindstuSpec(){ } publicvoidFindTeaName(){ } publicvoidFindteaSpec(){ } }4.4、Student類接口、學生的抽象方法publicinterfaceStudent{ abstractvoidsetstuSpeciality(); abstractStringgetstuSpeciality(); abstractvoidsetClassname(); abstractStringgetClassname();}4.5、Teacher類接口、教師的抽象方法publicinterfaceTeacher{ abstractvoidsetteaSpeciality(); abstractStringgetteaSpeciality(); abstractvoidsetPay(); abstractfloatgetPay();}4.6、Person類定義人類的基本屬性importjava.util.*;importlkExecption.LKExecption;publicclassPerson{ Scannerinto=newScanner(System.in); Stringname; intphone; Stringaddress; Stringsex; intage; publicvoidsetName() { System.out.println("請輸入姓名:"); name=into.nextLine(); } publicvoidsetSex()throwsLKExecption { try{ System.out.println("請輸入性別:"); sex=into.nextLine(); if(sex.equals("man")||sex.equals("woman")) {} else thrownewLKExecption(); } catch(LKExecptionlk) { sex=newLKExecption().sexExecption(sex); } } publicvoidsetAge() { StringtpAge=null; try{ System.out.println("請輸入年齡:"); tpAge=into.nextLine(); age=Integer.parseInt(tpAge); } catch(NumberFormatExceptione) { age=newLKExecption().NumExecption(tpAge); } } publicvoidsetPhone() { StringtpNum=null; try{ System.out.println("請輸入電話號碼:"); tpNum=into.nextLine(); phone=Integer.parseInt(tpNum); } catch(NumberFormatExceptione) { phone=newLKExecption().Num1Execption(tpNum); } }}4.7、lkExecption類自定義異常類packagelkExecption;importjava.util.Scanner;publicclassLKExecptionextendsException{ Scannerinto=newScanner(System.in); publicStringsexExecption(Stringmg) { Stringstr; booleanpd=true; do{ System.out.println(mg+"不是對的的性別,對的的性別為man或者woman"); str=into.next(); //System.out.println(mg+"驗證"); if(str.equals("man")||str.equals("woman")) { pd=false; } }while(pd); returnstr; } publicintNumExecption(Stringmg) { Stringnum=null; inttpNum=0; booleanpd=true; System.out.println(mg+"請對的的數(shù)字或者不在范圍內!請重新輸入?。?); do{ try{ num=into.nextLine(); tpNum=Integer.parseInt(num); if(tpNum>120||tpNum<0)//范圍判斷 thrownewNumberFormatException(); else pd=false; } catch(NumberFormatExceptione) { System.out.println(num+"請對的的數(shù)字或者不在范圍內!請重新輸入!!"); } }while(pd); returntpNum; } publicStringcharExecption(Stringmg) { finalString[]str={"null"};//這里指定規(guī)定字段 booleanpd=true; do{ System.out.println(mg+"不是對的字段,請輸入指定的字段"); mg=into.next(); for(inti=0;i<str.length;i++) if(mg.equals(str[i]))// { pd=false; } }while(pd); returnmg; } publicintNum1Execption(Stringmg) { Stringnum; inttpNum=0; System.out.println(mg+"不是數(shù)字!請輸入數(shù)字!!"); do{

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論