人员信息管理系统 java课程设计.docx

上传人:小飞机 文档编号:1898110 上传时间:2022-12-24 格式:DOCX 页数:29 大小:144.79KB
返回 下载 相关 举报
人员信息管理系统 java课程设计.docx_第1页
第1页 / 共29页
人员信息管理系统 java课程设计.docx_第2页
第2页 / 共29页
人员信息管理系统 java课程设计.docx_第3页
第3页 / 共29页
人员信息管理系统 java课程设计.docx_第4页
第4页 / 共29页
人员信息管理系统 java课程设计.docx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《人员信息管理系统 java课程设计.docx》由会员分享,可在线阅读,更多相关《人员信息管理系统 java课程设计.docx(29页珍藏版)》请在三一办公上搜索。

1、大学人员信息管理系统 29 / 29目录目录1设计任务书2课程设计任务2程序功能实现: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

2、.4、教师信息查找265.2、学生菜单实现286.设计体会28设计任务书问题描述: 编写程序对大学里的人员进行管理。大学里的人员主要由学生、教师和在职进修教师(既是学生又是教师)组成,各类人员均有姓名、电话和住址等信息,学生另有所属专业信息,教师另有所在系部、授课信息及工资信息,在职进修教师具备以上各类人员的信息。 要求: 1、设计Person类,保存各类人员均有的姓名、电话和住址等信息。 2、设计Student类或接口,继承Person类,并添加所属专业班级信息。 3、设计Teacher类接口,继承Person类,并添加所在系部信息,授课信息及工资信息。 4、设计StudenTeacher类

3、,继承Student类接口和Teache类接口。其具备以上各类人员信息。 5、把创建的所有StudenTeacher对象按照其所属系部依次组织在一个文件中方便查询、修改、删除及添加等操作。 6、对各类的对象进行信息输入操作,输入信息包括该类对象的所有信息。 7、对各类的对象进行输出操作,显示输出该类对象的所有信息课程设计任务及设计人设计任务:大学人员信息管理系统课程目的:1、复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,

4、实践编程的能力;3、培养学生在项目开发中团队合作精神、创新意识及能力。课程要求:1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2、系统设计要实用,编程简练,可用,功能全面3、说明书、流程图要清楚4、记录设计情况(备查,也为编写设计说明书作好准备);5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。6、本设计需要实现Java的面向对象开发运用到的有Java的接口,Java的继承,Java的异常处理,Java类的封装。能够在异常输入的情况下,能正确处理。最后得到正确结果。程序功能实现:一、

5、按照课程的要求实现学生和教师的基本信息的录入。二、 把输入的教师和学生信息显示出来。三、 有姓名和专业两种查找方式去分别把老师和学生的信息查找并且显示出来。四、 删除选项可以删除相应学生和老师信息。五、 用switch语句实现菜单功能,字符界面做到简洁清晰六、 异常处理处理错误的输入并且返回错误的提示,更正后填入正确数据。1.程序主体1、 设计分析:1.1、 实体是实现程序思想的主要方式,首先应该分为学生和老师2个入口,分别做查询和信息添加、显示、删除和查找的功能。1.2、 学生和老师的信息输入考虑要求多名信息考虑用对象数组去实现。但是对象数组的删除不是本学期的内容。且排序麻烦。考虑用其他方式

6、实现信息录入,查阅相关信息发现可以使用list对象实现信息录入和删除。1.3、 菜单使用switch语句实现菜单功能,菜单的相互调用实现功能的循环。2.流程图:3.模块说明3.1、主菜单四个选项学生入口:这个模块与学生功能模块相连。教师入口:这个模块与教师功能模块相连显示全部信息:这个模块显示所有的老师和学生信息3.2、教师功能菜单显示教师信息:这个模块显示输入的教师信息,如果不存在提示输入信息添加教师信息:这个模块添加教师基本信息删除教师信息:这个模块按照序号删除教师信息,如果不存在提示信息输入查找教师信息:按照姓名和专业查找教师信息返回上一级菜单:返回主菜单3.3、学生功能菜单显示学生信息

7、:这个模块显示输入的教师信息,如果不存在提示输入信息添加学生信息:这个模块添加教师基本信息删除学生信息:这个模块按照序号删除教师信息,如果不存在提示信息输入查找学生信息:按照姓名和专业查找学生信息返回上一级菜单:返回主菜单3.4、查找菜单按照姓名查找:查找模块,按照姓名查找,如果不存在则提示输入信息。按照专业查找:查找模块,按照专业查找,如果不存在则提示输入信息。返回上一级菜单:返回主菜单4源代码及说明4.1、listStuTea 类 用来实现学生和教师数据添加、删除、查找的方法import java.util.*;import lkExecption.LKExecption;public c

8、lass listStuTea extends StudnTeachfinal int SIZE = 50;/最大学生和教师人数listStuTea st = new listStuTeaSIZE;/学生和老师对象数组Scanner into = new Scanner(System.in);List list1=new ArrayList();List list2=new ArrayList();public int getTeaNumber() /返回教师链表长度return list1.size();public int getStuNumber() /返回学生链表长度return li

9、st2.size();public int getNumber() / TODO Auto-generated method stubreturn list2.size()+list1.size();public void FindStuName()String tpname;boolean zy = true;StudnTeach point;System.out.println(请输入学生姓名:);tpname = into.nextLine();for(int i = 0;igetStuNumber();i+)point =list2.get(i);if(tpname.equals(po

10、int.name)System.out.println(要查找的姓名存在);showStu(i,point);zy = false;if(zy)System.out.println(没有该学生);if(getStuNumber()=0)System.out.println(警告!学生数据为空请添加数据);public void FindTeaName()String tpname;boolean zy = true;StudnTeach point;System.out.println(请输入教师姓名:);tpname = into.nextLine();for(int i = 0;igetT

11、eaNumber();i+)point =list1.get(i);if(tpname.equals(point.name)System.out.println(要查找的姓名存在);showTea(i,point);zy = false; /标志位/break;if(zy)System.out.println(没有该老师);if(getTeaNumber()=0)System.out.println(警告!老师数据为空请添加数据);public void FindteaSpec()String tpSpec;boolean zy = true;StudnTeach point;System.o

12、ut.println(请输入教师专业:);tpSpec = into.nextLine();for(int i = 0;igetTeaNumber();i+)point =list1.get(i);if(tpSpec.equals(point.getteaSpeciality()showTea(i,point);zy = false;/标志位if(zy)System.out.println(没有该专业的老师);if(getTeaNumber()=0)System.out.println(警告!老师数据为空请添加数据);public void FindstuSpec()String tpStu;

13、boolean zy = true;StudnTeach point;System.out.println(请输入学生专业:);tpStu = into.nextLine();for(int i = 0;igetStuNumber();i+)point =list2.get(i);if(tpStu.equals(point.getstuSpeciality()showStu(i,point);zy = false;/标志位if(zy)System.out.println(没有选修该专业的学生);if(getStuNumber()=0)System.out.println(警告!学生数据为空请添

14、加数据);public void showStu(int n,StudnTeach point)point=list2.get(n);System.out.println(学生编号:+n);System.out.println(姓名:+point.name+ 性别:+point.sex+ 年龄:+point.age);System.out.println(电话:+point.phone);System.out.println(地址:+point.address);System.out.println(专业:+point.getstuSpeciality();System.out.println

15、(班级:+point.getClassname();public void showTea(int n,StudnTeach point)point=list1.get(n);System.out.println(教师编号:+n);System.out.println(姓名:+point.name+ 性别:+point.sex+ 年龄:+point.age);System.out.println(电话:+point.phone);System.out.println(地址:+point.address);System.out.println(专业:+point.getteaSpeciality

16、();System.out.println(工资:+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(添加学生成功);public void addtea(int n) throws LKExecptionstn = new listStuTea();stn.add();st

17、n.setteaSpeciality();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.ou

18、t.println(请输入被删的学生编号);int k =into.nextInt();if(list2.size()=k|k0)System.out.println(删除失败!编号不存在请重新输入!);elselist2.remove(k);System.out.println(删除成功);4.2、Menu 类 字符菜单的实现import java.util.*;import lkExecption.LKExecption;public class Menu Scanner into = new Scanner(System.in);int num = 0;List list=new Arr

19、ayList();StudnTeach 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;

20、void MainMenu() throws LKExecption/主菜单System.out.println(=);System.out.println(1.教师入口);System.out.println(2.学生入口);System.out.println(3.显示全部信息);System.out.println(4.退出管理);switchMainMenu();void FindMenu()/查找菜单System.out.println(-);System.out.println(1.按照姓名查找);System.out.println(2.按照专业查找);System.out.pr

21、intln(3.返回上一级菜单);/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/

22、学生菜单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();void switchFindStuMenu() throws LKExecption/查找学生菜单int t;t = setIn();switch(t)case 1:point.FindStuName();FindM

23、enu();switchFindStuMenu();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

24、();FindMenu();switchFindTeaMenu();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();/老

25、师显示菜单break;case 2:MenuStu1_1();/学生显示菜单break;case 3:if(point.getNumber()=0)System.out.println(警告!数据为空请添加数据);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(欢迎再次光临!大学人员信息管理系统!);br

26、eak;default:System.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(警告!教师数据为空请添加数据);for(int i = 0;ipoint.getTeaNumber();i+)point.showTea(i,point);MenuTea1_1();break;c

27、ase 2:point.addtea(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()

28、;switch(t)case 1:if(point.getStuNumber()=0)System.out.println(警告!学生数据为空请添加数据);for(int i = 0;ipoint.getStuNumber();i+)point.showStu(i,point);MenuStu1_1();case 2:point.addstu(num);num+;MenuStu1_1();break;case 3:point.delStu();num-;MenuStu1_1();break;case 4:FindMenu();switchFindStuMenu();break;case 5:M

29、ainMenu();break;default:System.out.println(输入错误请重新输入);MenuStu1_1();4.3、StudnTeach 类 继承于教师和学生接口实现它们抽象方法,且继承人类属性。import java.util.*;import lkExecption.LKExecption;class StudnTeach extends Person implements Student,TeacherScanner into = new Scanner(System.in);float pay = 0;/工资String classname = null;/班

30、级String stuSpec = null;/老师专业String teaSpec = null;/学生专业void add() throws LKExecptionsetName();setSex();setAge();setPhone ();System.out.println(请输入地址);address = into.nextLine();public void addstu(int n) throws LKExecption/add();/setClassname();/setstuSpeciality();public void addtea(int n) throws LKEx

31、ecption/add();/setteaSpeciality();/setPay() ;public void setPay() String tpNum = null;trySystem.out.println(请输入工资:);tpNum = into.nextLine();pay = Integer.parseInt(tpNum);catch(NumberFormatException e)pay = new LKExecption().Num1Execption(tpNum);public float getPay() return pay;public void setClassna

32、me() System.out.println(请输入班级:);classname = into.nextLine();public String getClassname() return classname;public void setstuSpeciality() System.out.println(请输入专业:);stuSpec = into.nextLine();public String getstuSpeciality() return stuSpec;public void setteaSpeciality() System.out.println(请输入专业:);teaS

33、pec = into.nextLine();public String getteaSpeciality() return teaSpec;public void show(boolean b, int num, StudnTeach point) public void showStu(int num, StudnTeach point) public void showTea(int num, StudnTeach point) public int getStuNumber() return 0;public int getTeaNumber() return 0;public int

34、getNumber() return 0;public void delStu() public void delTea() public void FindStuName() public void FindstuSpec() public void FindTeaName() public void FindteaSpec() 4.4、Student 类 接口、学生的抽象方法public interface Student abstract void setstuSpeciality();abstract String getstuSpeciality();abstract void se

35、tClassname();abstract String getClassname();4.5、Teacher 类 接口、教师的抽象方法public interface Teacher abstract void setteaSpeciality();abstract String getteaSpeciality();abstract void setPay();abstract float getPay();4.6、Person 类 定义人类的基本属性import java.util.*;import lkExecption.LKExecption;public class PersonS

36、canner into = new Scanner(System.in);String name;int phone;String address;String sex;int age;public void setName()System.out.println(请输入姓名:);name = into.nextLine();public void setSex() throws LKExecptiontrySystem.out.println(请输入性别:);sex = into.nextLine();if(sex.equals(man)|sex.equals(woman)elsethrow

37、 new LKExecption();catch(LKExecption lk)sex = new LKExecption().sexExecption(sex);public void setAge()String tpAge = null;trySystem.out.println(请输入年龄:);tpAge = into.nextLine();age = Integer.parseInt(tpAge);catch(NumberFormatException e)age = new LKExecption().NumExecption(tpAge);public void setPhone

38、 ()String tpNum = null;trySystem.out.println(请输入电话号码:);tpNum = into.nextLine();phone = Integer.parseInt(tpNum);catch(NumberFormatException e)phone = new LKExecption().Num1Execption(tpNum);4.7、lkExecption类 自定义异常类package lkExecption;import java.util.Scanner;public class LKExecption extends ExceptionScanner into = new Scanner(System.in);public String sexExecption(String mg)String str;boolean pd = true;doSystem.out.println(mg+ 不是正确的性别,正确的性别为 man 或者 woman);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号