利用java设计一个简单的学校人事管理系统,管理教师和学生信息。实现教师与学生基本信息的添加、删除、修改、查询。其中编号、姓名、性别、出生日期为共有的,教师包括部门、职称、工资;学生包括高考分数、专业field、班级等。
时间: 2023-10-27 18:04:53 浏览: 65
好的,以下是一个简单的学校人事管理系统的Java代码:
```java
import java.util.ArrayList;
import java.util.Scanner;
class Person {
private String id;
private String name;
private String gender;
private String birthday;
public Person(String id, String name, String gender, String birthday) {
this.id = id;
this.name = name;
this.gender = gender;
this.birthday = birthday;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
class Teacher extends Person {
private String department;
private String title;
private double salary;
public Teacher(String id, String name, String gender, String birthday, String department, String title, double salary) {
super(id, name, gender, birthday);
this.department = department;
this.title = title;
this.salary = salary;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
class Student extends Person {
private int score;
private String field;
private String className;
public Student(String id, String name, String gender, String birthday, int score, String field, String className) {
super(id, name, gender, birthday);
this.score = score;
this.field = field;
this.className = className;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
}
class School {
private ArrayList<Teacher> teachers;
private ArrayList<Student> students;
public School() {
teachers = new ArrayList<>();
students = new ArrayList<>();
}
public void addTeacher(Teacher teacher) {
teachers.add(teacher);
}
public void removeTeacher(String id) {
for (Teacher teacher : teachers) {
if (teacher.getId().equals(id)) {
teachers.remove(teacher);
break;
}
}
}
public void updateTeacher(Teacher teacher) {
for (Teacher t : teachers) {
if (t.getId().equals(teacher.getId())) {
t.setName(teacher.getName());
t.setGender(teacher.getGender());
t.setBirthday(teacher.getBirthday());
t.setDepartment(teacher.getDepartment());
t.setTitle(teacher.getTitle());
t.setSalary(teacher.getSalary());
break;
}
}
}
public Teacher searchTeacher(String id) {
for (Teacher teacher : teachers) {
if (teacher.getId().equals(id)) {
return teacher;
}
}
return null;
}
public void addStudent(Student student) {
students.add(student);
}
public void removeStudent(String id) {
for (Student student : students) {
if (student.getId().equals(id)) {
students.remove(student);
break;
}
}
}
public void updateStudent(Student student) {
for (Student s : students) {
if (s.getId().equals(student.getId())) {
s.setName(student.getName());
s.setGender(student.getGender());
s.setBirthday(student.getBirthday());
s.setScore(student.getScore());
s.setField(student.getField());
s.setClassName(student.getClassName());
break;
}
}
}
public Student searchStudent(String id) {
for (Student student : students) {
if (student.getId().equals(id)) {
return student;
}
}
return null;
}
public void printTeachers() {
System.out.println("教师列表:");
for (Teacher teacher : teachers) {
System.out.println("编号:" + teacher.getId() + " 姓名:" + teacher.getName() + " 性别:" + teacher.getGender() + " 生日:" + teacher.getBirthday() + " 部门:" + teacher.getDepartment() + " 职称:" + teacher.getTitle() + " 工资:" + teacher.getSalary());
}
}
public void printStudents() {
System.out.println("学生列表:");
for (Student student : students) {
System.out.println("编号:" + student.getId() + " 姓名:" + student.getName() + " 性别:" + student.getGender() + " 生日:" + student.getBirthday() + " 高考分数:" + student.getScore() + " 专业:" + student.getField() + " 班级:" + student.getClassName());
}
}
}
public class Main {
public static void main(String[] args) {
School school = new School();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 添加教师");
System.out.println("2. 删除教师");
System.out.println("3. 修改教师信息");
System.out.println("4. 查询教师信息");
System.out.println("5. 添加学生");
System.out.println("6. 删除学生");
System.out.println("7. 修改学生信息");
System.out.println("8. 查询学生信息");
System.out.println("9. 查看教师列表");
System.out.println("10. 查看学生列表");
System.out.println("0. 退出");
int choice = scanner.nextInt();
if (choice == 0) {
break;
} else if (choice == 1) {
System.out.println("请输入教师信息:");
System.out.print("编号:");
String id = scanner.next();
System.out.print("姓名:");
String name = scanner.next();
System.out.print("性别:");
String gender = scanner.next();
System.out.print("生日:");
String birthday = scanner.next();
System.out.print("部门:");
String department = scanner.next();
System.out.print("职称:");
String title = scanner.next();
System.out.print("工资:");
double salary = scanner.nextDouble();
Teacher teacher = new Teacher(id, name, gender, birthday, department, title, salary);
school.addTeacher(teacher);
System.out.println("教师添加成功!");
} else if (choice == 2) {
System.out.println("请输入要删除的教师编号:");
String id = scanner.next();
school.removeTeacher(id);
System.out.println("教师删除成功!");
} else if (choice == 3) {
System.out.println("请输入要修改的教师信息:");
System.out.print("编号:");
String id = scanner.next();
System.out.print("姓名:");
String name = scanner.next();
System.out.print("性别:");
String gender = scanner.next();
System.out.print("生日:");
String birthday = scanner.next();
System.out.print("部门:");
String department = scanner.next();
System.out.print("职称:");
String title = scanner.next();
System.out.print("工资:");
double salary = scanner.nextDouble();
Teacher teacher = new Teacher(id, name, gender, birthday, department, title, salary);
school.updateTeacher(teacher);
System.out.println("教师信息修改成功!");
} else if (choice == 4) {
System.out.println("请输入要查询的教师编号:");
String id = scanner.next();
Teacher teacher = school.searchTeacher(id);
if (teacher != null) {
System.out.println("编号:" + teacher.getId() + " 姓名:" + teacher.getName() + " 性别:" + teacher.getGender() + " 生日:" + teacher.getBirthday() + " 部门:" + teacher.getDepartment() + " 职称:" + teacher.getTitle() + " 工资:" + teacher.getSalary());
} else {
System.out.println("未找到该教师!");
}
} else if (choice == 5) {
System.out.println("请输入学生信息:");
System.out.print("编号:");
String id = scanner.next();
System.out.print("姓名:");
String name = scanner.next();
System.out.print("性别:");
String gender = scanner.next();
System.out.print("生日:");
String birthday = scanner.next();
System.out.print("高考分数:");
int score = scanner.nextInt();
System.out.print("专业:");
String field = scanner.next();
System.out.print("班级:");
String className = scanner.next();
Student student = new Student(id, name, gender, birthday, score, field, className);
school.addStudent(student);
System.out.println("学生添加成功!");
} else if (choice == 6) {
System.out.println("请输入要删除的学生编号:");
String id = scanner.next();
school.removeStudent(id);
System.out.println("学生删除成功!");
} else if (choice == 7) {
System.out.println("请输入要修改的学生信息:");
System.out.print("编号:");
String id = scanner.next();
System.out.print("姓名:");
String name = scanner.next();
System.out.print("性别:");
String gender = scanner.next();
System.out.print("生日:");
String birthday = scanner.next();
System.out.print("高考分数:");
int score = scanner.nextInt();
System.out.print("专业:");
String field = scanner.next();
System.out.print("班级:");
String className = scanner.next();
Student student = new Student(id, name, gender, birthday, score, field, className);
school.updateStudent(student);
System.out.println("学生信息修改成功!");
} else if (choice == 8) {
System.out.println("请输入要查询的学生编号:");
String id = scanner.next();
Student student = school.searchStudent(id);
if (student != null) {
System.out.println("编号:" + student.getId() + " 姓名:" + student.getName() + " 性别:" + student.getGender() + " 生日:" + student.getBirthday() + " 高考分数:" + student.getScore() + " 专业:" + student.getField() + " 班级:" + student.getClassName());
} else {
System.out.println("未找到该学生!");
}
} else if (choice == 9) {
school.printTeachers();
} else if (choice == 10) {
school.printStudents();
} else {
System.out.println("输入错误,请重新输入!");
}
}
}
}
```
该程序使用了面向对象的思想,定义了Person、Teacher、Student和School四个类。其中Person类是所有人员的父类,包含了编号、姓名、性别、出生日期等共有的属性。Teacher类和Student类继承了Person类,分别添加了部门、职称、工资和高考分数、专业、班级等独有的属性。School类用于管理教师和学生的信息,包括添加、删除、修改、查询和打印教师和学生信息的功能。Main类作为程序的入口,提供了一个简单的命令行菜单,让用户选择相应的操作。
当用户选择添加、删除、修改、查询教师或学生信息时,程序会提示用户输入相应的信息。输入完成后,程序会根据用户的选择调用相应的方法,对教师或学生信息进行相应的操作。
当用户选择查看教师或学生列表时,程序会遍历教师或学生列表,并打印出每个教师或学生的信息。
该程序只是一个简单的示例,实际的学校人事管理系统需要更加完善和复杂,例如要考虑数据的持久化、数据的安全性、多用户的并发访问等问题。