[Java] 学生与教师管理系统

阅读: 评论:0

[Java] 学生与教师管理系统

[Java] 学生与教师管理系统

目录

  • 1. 主要功能
  • 2. Java 实现
    • a. MainApp.java
    • b. Utils.java
    • c. Person.java
    • d. Teacher.java
    • e. Student.java


1. 主要功能

  • 主菜单选择管理学员/教师信息;
  • 可以添加、修改、删除、查询学员/教师信息;
  • 可以返回主菜单;

2. Java 实现

a. MainApp.java

import java.util.ArrayList;
import java.util.Scanner;public class MainApp {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//学生集合ArrayList<Student> stuList = new ArrayList<>();//教师集合ArrayList<Teacher> teaList = new ArrayList<>();//主菜单while (true) {System.out.println("1.学员信息管理 2.教师信息管理 3.退出");int op = sc.nextInt();switch (op) {case 1:studentManage(stuList, sc);break;case 2:teacherManage(teaList, sc);break;case 3:System.out.println("谢谢使用,拜拜!!");it(0);default:System.out.println("你的输入有误,请重新输入!");break;}}}//教师信息管理private static void teacherManage(ArrayList<Teacher> teaList, Scanner sc) {//二级菜单while (true) {System.out.println("------------------------------------------------------ ");System.out.println("【教师信息管理】");System.out.println("1.添加教师 2.修改教师 3.删除教师 4.查询教师 5.返回");System.out.println();System.out.println("请输入功能序号:");int op = sc.nextInt();switch (op) {case 1:addTeacher(teaList, sc);break;case 2:updateTeacher(teaList, sc);break;case 3:deleteTeacher(teaList, sc);break;case 4:selectAllTeacher(teaList, sc);break;case 5:return;//结束方法default:System.out.println("你的输入有误,请重新输入!");break;}}}//学员信息管理private static void studentManage(ArrayList<Student> stuList, Scanner sc) {//二级菜单while (true) {System.out.println("------------------------------------------------------ ");System.out.println("【学员信息管理】");System.out.println("1.添加学员 2.修改学员 3.删除学员 4.查询学员 5.返回");System.out.println();System.out.println("请输入功能序号:");int op = sc.nextInt();switch (op) {case 1:addStudent(stuList, sc);break;case 2:updateStudent(stuList, sc);break;case 3:deleteStudent(stuList, sc);break;case 4:selectAllStudent(stuList, sc);break;case 5:return;//结束方法default:System.out.println("你的输入有误,请重新输入!");break;}}}//添加学员private static void addStudent(ArrayList<Student> stuList, Scanner sc) {System.out.println("请输入学员姓名:");String name = sc.next();System.out.println("请输入性别:");String sex = sc.next();System.out.println("请输入出生日期(yyyy-MM-dd):");String birthday = sc.next();stuList.add(new Student(++Utils.stuId, name, sex, birthday));System.out.println("【成功】学员信息添加成功!");}//添加教师private static void addTeacher(ArrayList<Teacher> teaList, Scanner sc) {System.out.println("请输入教师姓名:");String name = sc.next();System.out.println("请输入性别:");String sex = sc.next();System.out.println("请输入出生日期(yyyy-MM-dd):");String birthday = sc.next();teaList.add(new Teacher(+&#aId, name, sex, birthday));System.out.println("【成功】教师信息添加成功!");}//修改学员private static void updateStudent(ArrayList<Student> stuList, Scanner sc) {System.out.println("请输入要修改的学员ID:");int stuId = sc.nextInt();//查询for (int i = 0; i < stuList.size(); i++) {Student stu = (i);if (Id() == stuId) {System.out.println("【查询结果】要修改的学员信息:");//打印Utils.printPerson(stu);//执行修改System.out.println("请输入学员新姓名(保留原值输入0):");String newName = sc.next();System.out.println("请输入学员新性别(保留原值输入0):");String newSex = sc.next();System.out.println("请输入学员新出生日期(yyyy-MM-dd)(保留原值输入0):");String newBirthday = sc.next();if (!"0".equals(newName)) {stu.setName(newName);}if (!"0".equals(newSex)) {stu.setSex(newSex);}if (!"0".equals(newBirthday)) {stu.setBirthday(newBirthday);}System.out.println("【成功】学员信息修改成功!");return;}}System.out.println("【错误】学员ID:" + stuId + " 没找到!");}//修改教师private static void updateTeacher(ArrayList<Teacher> teaList, Scanner sc) {System.out.println("请输入要修改的教师ID:");int teaId = sc.nextInt();//查询for (int i = 0; i < teaList.size(); i++) {Teacher tea = (i);if (Id() == teaId) {System.out.println("【查询结果】要修改的教师信息:");//打印Utils.printPerson(tea);//执行修改System.out.println("请输入教师新姓名(保留原值输入0):");String newName = sc.next();System.out.println("请输入教师新性别(保留原值输入0):");String newSex = sc.next();System.out.println("请输入教师新出生日期(yyyy-MM-dd)(保留原值输入0):");String newBirthday = sc.next();if (!"0".equals(newName)) {tea.setName(newName);}if (!"0".equals(newSex)) {tea.setSex(newSex);}if (!"0".equals(newBirthday)) {tea.setBirthday(newBirthday);}System.out.println("【成功】教师信息修改成功!");return;}}System.out.println("【错误】教师ID:" + teaId + " 没找到!");}//删除学员private static void deleteStudent(ArrayList<Student> stuList, Scanner sc) {System.out.println("请输入要删除的学员ID:");int stuId = sc.nextInt();//查询for (int i = 0; i < stuList.size(); i++) {Student stu = (i);if (Id() == stuId) {System.out.println("【查询结果】要删除的学员信息:");Utils.printPerson(stu);System.out.println("【确认】您确定要删除这条信息吗(y/n)?");String str = sc.next();if ("y".equals(str)) {ve(i);System.out.println("【成功】数据已被删除!");return;//结束方法} else {System.out.println("【取消】操作被取消!");return;}}}System.out.println("【错误】学员ID:" + stuId + " 未找到!");}//删除教师private static void deleteTeacher(ArrayList<Teacher> teaList, Scanner sc) {System.out.println("请输入要删除的教师ID:");int teaId = sc.nextInt();//查询for (int i = 0; i < teaList.size(); i++) {Teacher tea = (i);if (Id() == teaId) {System.out.println("【查询结果】要删除的教师信息:");Utils.printPerson(tea);System.out.println("【确认】您确定要删除这条信息吗(y/n)?");String str = sc.next();if ("y".equals(str)) {ve(i);System.out.println("【成功】数据已被删除!");return;//结束方法} else {System.out.println("【取消】操作被取消!");return;}}}System.out.println("【错误】学员ID:" + teaId + " 未找到!");}//查询所有学员private static void selectAllStudent(ArrayList<Student> stuList, Scanner sc) {System.out.println("【查询结果】");if (stuList.size() == 0) {System.out.println("无数据");return;}Utils.printPersonList(stuList);//调用工具类打印}//查询所有教师private static void selectAllTeacher(ArrayList<Teacher> teaList, Scanner sc) {System.out.println("【查询结果】");if (teaList.size() == 0) {System.out.println("无数据");return;}Utils.printPersonList(teaList);//调用工具类打印}
}

b. Utils.java

ParseException;
SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;public class Utils {public static int stuId;//学员ID的初始值public static int teaId;//教师ID的初始值static {stuId = 0;teaId = 0;//后期可以改为从文件/数据库读取初始值}public static int birthdayToAge(String birthday) {Date birthDate = null;try {//异常处理代码,后面讲birthDate = new SimpleDateFormat("yyyy-MM-dd").parse(birthday);} catch (ParseException e) {e.printStackTrace();return -1;}//获取当前系统时间Calendar cal = Instance();//如果出生日期大于当前时间,则返回-1if (cal.before(birthDate)) {return -1;}//取出系统当前时间的年、月、日部分int yearNow = (Calendar.YEAR);int monthNow = (Calendar.MONTH);int dayOfMonthNow = (Calendar.DAY_OF_MONTH);//将日期设置为出生日期cal.setTime(birthDate);//取出出生日期的年、月、日部分int yearBirth = (Calendar.YEAR);int monthBirth = (Calendar.MONTH);int dayOfMonthBirth = (Calendar.DAY_OF_MONTH);//当前年份与出生年份相减,初步计算年龄int age = yearNow - yearBirth;//当前月份与出生日期的月份相比,如果月份小于出生月份,则年龄减1,表示不满多少周岁if (monthNow <= monthBirth) {//如果月份相等,在比较日期,如果当前日,小于出生日,也减1,表示不满多少周岁if (monthNow == monthBirth) {if (dayOfMonthNow < dayOfMonthBirth) age--;} else {age--;}}return age;}//打印ArrayList的方法public static void printPersonList(ArrayList personList) {System.out.println("*******************************************************");System.out.println("编号tt姓名tt性别tt生日tt年龄tt描述");for (int i = 0; i < personList.size(); i++) {Object p = (i);System.out.(i));}System.out.println("*******************************************************");}//打印Person的方法public static void printPerson(Person person) {System.out.println("*******************************************************");System.out.println("编号tt姓名tt性别tt生日tt年龄tt描述");System.out.println(person);System.out.println("*******************************************************");}
}

c. Person.java

public abstract class Person {private int id;//编号private String name;//姓名private String sex;//性别private String birthday;//出生日期private int age;//年龄--通过出生日期换算//构造方法public Person() {}public Person(int id, String name, String sex, String birthday) {this.id = id;this.name = name;this.sex = sex;this.birthday = birthday;}//getter/setterpublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday = birthday;}public int getAge() {//通过生日计算年龄age = Utils.Birthday());return age;}public void setAge(int age) {this.age = age;}//重写toString,同时作为模板@Overridepublic String toString() {return id + "tt" +name + "tt" +sex + "tt" +birthday + "tt" &#Age() + "tt" +" 我是一名:" + getType() + " 我的工作是:" + getWork();}//模板用到的两个方法,由子类重写public abstract String getWork();public abstract String getType();
}

d. Teacher.java

public class Teacher extends Person {public Teacher() {}public Teacher(int id, String name, String sex, String birthday) {super(id, name, sex, birthday);}@Overridepublic String getWork() {return "讲课";}@Overridepublic String getType() {return "老师";}
}

e. Student.java

public class Student extends Person {public Student() {}public Student(int id, String name, String sex, String birthday) {super(id, name, sex, birthday);}@Overridepublic String getWork() {return "学习";}@Overridepublic String getType() {return "学生";}
}

原文链接:

本文发布于:2024-02-01 08:11:51,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170674631335126.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:管理系统   生与   教师   Java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23