




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目录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.4、教师信息查找265.2、学生菜单实现286.设计体会28设计任务书问题描述: 编写程序对大学里的人员进行管理。大学里的人员主要由学生、教师和在职进修教师(既是学生又是教师)组成,各类人员均有姓名、电话和住址等信息,学生另有所属专业信息,教师另有所在系部、授课信息及工资信息,在职进修教师具备以上各类人员的信息。 要求: 1、设计Person类,保存各类人员均有的姓名、电话和住址等信息。 2、设计Student类或接口,继承Person类,并添加所属专业班级信息。 3、设计Teacher类接口,继承Person类,并添加所在系部信息,授课信息及工资信息。 4、设计StudenTeacher类,继承Student类接口和Teache类接口。其具备以上各类人员信息。 5、把创建的所有StudenTeacher对象按照其所属系部依次组织在一个文件中方便查询、修改、删除及添加等操作。 6、对各类的对象进行信息输入操作,输入信息包括该类对象的所有信息。 7、对各类的对象进行输出操作,显示输出该类对象的所有信息课程设计任务及设计人设计任务:大学人员信息管理系统课程目的:1、复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;3、培养学生在项目开发中团队合作精神、创新意识及能力。课程要求:1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2、系统设计要实用,编程简练,可用,功能全面3、说明书、流程图要清楚4、记录设计情况(备查,也为编写设计说明书作好准备);5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。6、本设计需要实现Java的面向对象开发运用到的有Java的接口,Java的继承,Java的异常处理,Java类的封装。能够在异常输入的情况下,能正确处理。最后得到正确结果。程序功能实现:一、 按照课程的要求实现学生和教师的基本信息的录入。二、 把输入的教师和学生信息显示出来。三、 有姓名和专业两种查找方式去分别把老师和学生的信息查找并且显示出来。四、 删除选项可以删除相应学生和老师信息。五、 用switch语句实现菜单功能,字符界面做到简洁清晰六、 异常处理处理错误的输入并且返回错误的提示,更正后填入正确数据。1.程序主体1、 设计分析:1.1、 实体是实现程序思想的主要方式,首先应该分为学生和老师2个入口,分别做查询和信息添加、显示、删除和查找的功能。1.2、 学生和老师的信息输入考虑要求多名信息考虑用对象数组去实现。但是对象数组的删除不是本学期的内容。且排序麻烦。考虑用其他方式实现信息录入,查阅相关信息发现可以使用list对象实现信息录入和删除。1.3、 菜单使用switch语句实现菜单功能,菜单的相互调用实现功能的循环。2.流程图:3.模块说明3.1、主菜单四个选项学生入口:这个模块与学生功能模块相连。教师入口:这个模块与教师功能模块相连显示全部信息:这个模块显示所有的老师和学生信息3.2、教师功能菜单显示教师信息:这个模块显示输入的教师信息,如果不存在提示输入信息添加教师信息:这个模块添加教师基本信息删除教师信息:这个模块按照序号删除教师信息,如果不存在提示信息输入查找教师信息:按照姓名和专业查找教师信息返回上一级菜单:返回主菜单3.3、学生功能菜单显示学生信息:这个模块显示输入的教师信息,如果不存在提示输入信息添加学生信息:这个模块添加教师基本信息删除学生信息:这个模块按照序号删除教师信息,如果不存在提示信息输入查找学生信息:按照姓名和专业查找学生信息返回上一级菜单:返回主菜单3.4、查找菜单按照姓名查找:查找模块,按照姓名查找,如果不存在则提示输入信息。按照专业查找:查找模块,按照专业查找,如果不存在则提示输入信息。返回上一级菜单:返回主菜单4源代码及说明4.1、listStuTea 类 用来实现学生和教师数据添加、删除、查找的方法import java.util.*;import lkExecption.LKExecption;public class 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 list2.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()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;igetTeaNumber();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(警告!老师数据为空请添加数据);public 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(getTeaNumber()=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 = 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.sex+ 年龄:+point.age);System.out.println(电话:+point.phone);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.sex+ 年龄:+point.age);System.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 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();stn.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.out.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 ArrayList();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;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.println(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/学生菜单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();FindMenu();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();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();/老师显示菜单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(欢迎再次光临!大学人员信息管理系统!);break;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;case 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();switch(t)case 1:if(point.getStuNumber()=0)System.out.println(警告!学生数据为空请添加数据);for(int i = 0;i120|tpNum0) /范围判断throw new NumberFormatException();elsepd = false;catch(NumberFormatException e)System.out.println(num+ 请正确的数字或者不在范围内!请重新输入!);while(pd);return tpNum;public String charExecption(String mg)final String str=null;/这里指定 规定字段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+ 不是数字!请输入数字!);dotrynum = into.nextLine();tpNum = Integer.parseInt(num);break;catch(NumberFormatException e)System.out.println(mg+ 不是数字!请输入数字!);while(true);return tpNum;4.8、MainStuTea类 主函数调用import lkExecption.LKExecption;public class MainStuTea public static void main(String args) throws LKExecptionMenu lk = new Menu();5.操作方法和测试结果5.1.1、教师信息显示选择一进入教师信息入口选择一进入教师信息查看因为我们没有添加教师信息,所以他要求我们添加教师信息5.1.2、教师信息添加选择二进入教师信息添加教师信息添加成功,如果不是指定字段输入,出现异常则重新输入如下为添加的信息输入显示5.1.3、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 概括承受三方合同2篇
- 商品入仓库服务合同4篇
- 新解读《GB-T 31048-2014铜冷却壁》
- 草鱼收购合同6篇
- 合同范本印章怎么盖
- 食品供应协议合同范本
- 药厂木香采购合同范本
- 卫生院尘肺病康复站差错事故预防及突发事件处理制度
- 供电监理合同范本
- 关于教育孩子的心得体会和感悟五篇
- 《电子商务基础(第二版)》课件 第六章 电子商务客户服务
- 2025变压器中性点直流偏磁监测装置
- 2025第三届全国技能大赛竞赛(装配钳工赛项)省选拔赛考试题库(含答案)
- 财务管理职业发展路径
- 长城汽车2025人才测评答案
- 民宿管理的规章制度
- 《医学美容技术》课件-5强脉冲光美容技术
- 普通车床实训课件
- 咖啡师知识培训课件图片
- pu线条安装合同范本
- 2025年日历表全年(打印版)完整清新每月一张
评论
0/150
提交评论