1、人员信息管理系统 java课程设计目录目录 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、教师信息
2、添加 245.1.3、教师信息删除 255.1.4、教师信息查找 265.2、学生菜单实现 286.设计体会 28设计任务书问题描述: 编写程序对大学里的人员进行管理。大学里的人员主要由学生、教师和在职进修教师(既是学生又是教师)组成,各类人员均有姓名、电话和住址等信息,学生另有所属专业信息,教师另有所在系部、授课信息及工资信息,在职进修教师具备以上各类人员的信息。 要求: 1、设计Person类,保存各类人员均有的姓名、电话和住址等信息。 2、设计Student类或接口,继承Person类,并添加所属专业班级信息。 3、设计Teacher类接口,继承Person类,并添加所在系部信息,授课信
3、息及工资信息。 4、设计StudenTeacher类,继承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、教师功能菜单显示教师信息:这个模块显示输入的教师信息,如果不存在提示输入信息 添加教师信息: 这个模块添加教师基本信息删除教师信息:这个模块按照序号删除教师信息,如果不存在提示信息输入查找教师信息:按照姓名和专业查找教师信息返
7、回上一级菜单:返回主菜单3.3、学生功能菜单显示学生信息:这个模块显示输入的教师信息,如果不存在提示输入信息 添加学生信息: 这个模块添加教师基本信息删除学生信息:这个模块按照序号删除教师信息,如果不存在提示信息输入查找学生信息:按照姓名和专业查找学生信息返回上一级菜单:返回主菜单3.4、查找菜单按照姓名查找:查找模块,按照姓名查找,如果不存在则提示输入信息。按照专业查找:查找模块,按照专业查找,如果不存在则提示输入信息。返回上一级菜单:返回主菜单4源代码及说明4.1、listStuTea 类 用来实现学生和教师数据添加、删除、查找的方法import java.util.*;import lk
8、Execption.LKExecption;public class listStuTea extends StudnTeach final 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
9、 int getStuNumber() /返回学生链表长度 return list2.size(); public int getNumber() / TODO Auto-generated method stub return list2.size()+list1.size(); public void FindStuName() String tpname; boolean zy = true; StudnTeach point; System.out.println(请输入学生姓名:); tpname = into.nextLine(); for(int i = 0;igetStuNum
10、ber();i+) point =list2.get(i); if(tpname.equals(point.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.
11、println(请输入教师姓名:); tpname = into.nextLine(); for(int i = 0;igetTeaNumber();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
12、void FindteaSpec() String tpSpec; boolean zy = true; StudnTeach point; System.out.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(ge
13、tTeaNumber()=0) System.out.println(警告!老师数据为空请添加数据); public void FindstuSpec() String tpStu; 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
14、 = false;/标志位 if(zy) System.out.println(没有选修该专业的学生); if(getStuNumber()=0) System.out.println(警告!学生数据为空请添加数据); 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.ph
15、one); System.out.println(地址:+point.address); System.out.println(专业:+point.getstuSpeciality(); System.out.println(班级:+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); Sy
16、stem.out.println(电话:+point.phone); System.out.println(地址:+point.address); System.out.println(专业:+point.getteaSpeciality(); System.out.println(工资:+point.getPay(); public void addstu(int n) throws LKExecption stn = new listStuTea(); stn.add(); stn.setClassname(); stn.setstuSpeciality(); list2.add(stn)
17、; if(list2.size()!=0) System.out.println(添加学生成功); public void addtea(int n) throws LKExecption stn = new listStuTea(); stn.add(); stn.setteaSpeciality(); stn.setPay(); list1.add(stn); if(list1.size()!=0) System.out.println(添加教师成功); public void delTea() System.out.println(请输入被删的教师编号); int k =into.nex
18、tInt(); if(list1.size()=k|k0) System.out.println(删除失败!编号不存在请重新输入!); else list1.remove(k); System.out.println(删除成功); public void delStu() System.out.println(请输入被删的学生编号); int k =into.nextInt(); if(list2.size()=k|k0) System.out.println(删除失败!编号不存在请重新输入!); else list2.remove(k); System.out.println(删除成功);
19、4.2、Menu 类 字符菜单的实现import java.util.*;import lkExecption.LKExecption;public class Menu Scanner into = new Scanner(System.in); int num = 0; List list=new ArrayList(); StudnTeach point = new listStuTea();/遍历指针 public Menu() throws LKExecption MainMenu(); public int setIn() int t; String tpNum = null; t
20、ry System.out.println(请输入选项); tpNum = into.nextLine(); t = Integer.parseInt(tpNum); catch(NumberFormatException e) t = new LKExecption().Num1Execption(tpNum); return t; void MainMenu() throws LKExecption/主菜单 System.out.println(=); System.out.println(1.教师入口); System.out.println(2.学生入口); System.out.pr
21、intln(3.显示全部信息); System.out.println(4.退出管理); switchMainMenu(); void FindMenu()/查找菜单 System.out.println(-); System.out.println(1.按照姓名查找); System.out.println(2.按照专业查找); System.out.println(3.返回上一级菜单); /switchMainMenu(); void MenuTea1_1() throws LKExecption/老师菜单 System.out.println(-); System.out.println
22、(1.显示教师信息); System.out.println(2.添加教师信息); System.out.println(3.删除教师信息); System.out.println(4.查找教师信息); System.out.println(5.返回上一级菜单); switchMenuTea1_1(); void MenuStu1_1() throws LKExecption/学生菜单 System.out.println(-); System.out.println(1.显示学生信息); System.out.println(2.添加学生信息); System.out.println(3.删
23、除学生信息); System.out.println(4.查找学生信息); System.out.println(5.返回上一级菜单); switchMenuStu1_1(); void switchFindStuMenu() throws LKExecption/查找学生菜单 int t; t = setIn(); switch(t) case 1: point.FindStuName(); FindMenu(); switchFindStuMenu(); break; case 2: point.FindstuSpec(); FindMenu(); switchFindStuMenu();
24、 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(); switchFindTeaMenu(); break; case 2: point.FindteaSpec(); Fin
25、dMenu(); 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: MenuStu1_1();/学生显示菜单 break; case 3
26、: if(point.getNumber()=0) System.out.println(警告!数据为空请添加数据); else for(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(欢迎再次光临!大学人员信息管理系统!); break; default: System.out.println(输入错误请
27、重新输入); switchMainMenu(); void switchMenuTea1_1() throws LKExecption System.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; case 2: point.addtea(num); num+; MenuTea1_1(); break; case 3:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1