使用java编写一个包括教职工基本信息、工资信息
和考勤信息的系统,实现以下功能:
-
添加教职工信息(包括姓名、性别、出生日期、身份证号码、联系电话、家庭住址、职位、工作年限等基本信息,以及工资水平、岗位津贴、绩效奖金等工资信息,以及出勤情况、请假情况、加班情况等考勤信息)。
-
删除教职工信息。
-
修改教职工信息。
-
查询教职工信息(按照姓名、身份证号码、职位、工作年限等进行查询)。
-
统计教职工工资情况(按照职位、工作年限、绩效奖金等进行统计)。
-
统计教职工考勤情况(按照出勤情况、请假情况、加班情况等进行统计)。
-
输出所有教职工信息。
代码如下:
import java.util.ArrayList;
import java.util.Scanner;
public class EmployeeManagementSystem {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList<Employee> employeeList = new ArrayList<>();
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("0. 退出系统");
System.out.print("请选择操作:");
int choice = input.nextInt();
switch (choice) {
case 1:
addEmployee(employeeList);
break;
case 2:
deleteEmployee(employeeList);
break;
case 3:
modifyEmployee(employeeList);
break;
case 4:
queryEmployee(employeeList);
break;
case 5:
statisticsSalary(employeeList);
break;
case 6:
statisticsAttendance(employeeList);
break;
case 7:
outputEmployee(employeeList);
break;
case 0:
System.out.println("谢谢使用教职工管理系统!");
System.exit(0);
default:
System.out.println("输入有误,请重新选择操作!");
}
}
}
public static void addEmployee(ArrayList<Employee> employeeList) {
Scanner input = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = input.next();
System.out.print("请输入性别:");
String gender = input.next();
System.out.print("请输入出生日期:");
String birthdate = input.next();
System.out.print("请输入身份证号码:");
String idNumber = input.next();
System.out.print("请输入联系电话:");
String phoneNumber = input.next();
System.out.print("请输入家庭住址:");
String address = input.next();
System.out.print("请输入职位:");
String position = input.next();
System.out.print("请输入工作年限:");
int workYears = input.nextInt();
System.out.print("请输入工资水平:");
double salary = input.nextDouble();
System.out.print("请输入岗位津贴:");
double jobAllowance = input.nextDouble();
System.out.print("请输入绩效奖金:");
double performanceBonus = input.nextDouble();
System.out.print("请输入出勤情况:");
String attendance = input.next();
System.out.print("请输入请假情况:");
String leave = input.next();
System.out.print("请输入加班情况:");
String overtime = input.next();
Employee employee = new Employee(name, gender, birthdate, idNumber, phoneNumber, address, position, workYears, salary, jobAllowance, performanceBonus, attendance, leave, overtime);
employeeList.add(employee);
System.out.println("教职工信息添加成功!");
}
public static void deleteEmployee(ArrayList<Employee> employeeList) {
Scanner input = new Scanner(System.in);
System.out.print("请输入要删除的教职工姓名:");
String name = input.next();
for (Employee employee : employeeList) {
if (employee.getName().equals(name)) {
employeeList.remove(employee);
System.out.println("教职工信息删除成功!");
return;
}
}
System.out.println("未找到对应的教职工信息!");
}
public static void modifyEmployee(ArrayList<Employee> employeeList) {
Scanner input = new Scanner(System.in);
System.out.print("请输入要修改的教职工姓名:");
String name = input.next();
for (Employee employee : employeeList) {
if (employee.getName().equals(name)) {
System.out.print("请输入新的姓名:");
String newName = input.next();
employee.setName(newName);
System.out.print("请输入新的性别:");
String newGender = input.next();
employee.setGender(newGender);
System.out.print("请输入新的出生日期:");
String newBirthdate = input.next();
employee.setBirthdate(newBirthdate);
System.out.print("请输入新的身份证号码:");
String newIdNumber = input.next();
employee.setIdNumber(newIdNumber);
System.out.print("请输入新的联系电话:");
String newPhoneNumber = input.next();
employee.setPhoneNumber(newPhoneNumber);
System.out.print("请输入新的家庭住址:");
String newAddress = input.next();
employee.setAddress(newAddress);
System.out.print("请输入新的职位:");
String newPosition = input.next();
employee.setPosition(newPosition);
System.out.print("请输入新的工作年限:");
int newWorkYears = input.nextInt();
employee.setWorkYears(newWorkYears);
System.out.print("请输入新的工资水平:");
double newSalary = input.nextDouble();
employee.setSalary(newSalary);
System.out.print("请输入新的岗位津贴:");
double newJobAllowance = input.nextDouble();
employee.setJobAllowance(newJobAllowance);
System.out.print("请输入新的绩效奖金:");
double newPerformanceBonus = input.nextDouble();
employee.setPerformanceBonus(newPerformanceBonus);
System.out.print("请输入新的出勤情况:");
String newAttendance = input.next();
employee.setAttendance(newAttendance);
System.out.print("请输入新的请假情况:");
String newLeave = input.next();
employee.setLeave(newLeave);
System.out.print("请输入新的加班情况:");
String newOvertime = input.next();
employee.setOvertime(newOvertime);
System.out.println("教职工信息修改成功!");
return;
}
}
System.out.println("未找到对应的教职工信息!");
}
public static void queryEmployee(ArrayList<Employee> employeeList) {
Scanner input = new Scanner(System.in);
System.out.println("请选择查询方式:");
System.out.println("1. 姓名");
System.out.println("2. 身份证号码");
System.out.println("3. 职位");
System.out.println("4. 工作年限");
int choice = input.nextInt();
switch (choice) {
case 1:
System.out.print("请输入教职工姓名:");
String name = input.next();
for (Employee employee : employeeList) {
if (employee.getName().equals(name)) {
employee.output();
return;
}
}
System.out.println("未找到对应的教职工信息!");
break;
case 2:
System.out.print("请输入教职工身份证号码:");
String idNumber = input.next();
for (Employee employee : employeeList) {
if (employee.getIdNumber().equals(idNumber)) {
employee.output();
return;
}
}
System.out.println("未找到对应的教职工信息!");
break;
case 3:
System.out.print("请输入教职工职位:");
String position = input.next();
for (Employee employee : employeeList) {
if (employee.getPosition().equals(position)) {
employee.output();
return;
}
}
System.out.println("未找到对应的教职工信息!");
break;
case 4:
System.out.print("请输入教职工工作年限:");
int workYears = input.nextInt();
for (Employee employee : employeeList) {
if (employee.getWorkYears() == workYears) {
employee.output();
return;
}
}
System.out.println("未找到对应的教职工信息!");
break;
default:
System.out.println("输入有误,请重新选择查询方式!");
}
}
public static void statisticsSalary(ArrayList<Employee> employeeList) {
Scanner input = new Scanner(System.in);
System.out.println("请选择统计方式:");
System.out.println("1. 职位");
System.out.println("2. 工作年限");
System.out.println("3. 绩效奖金");
int choice = input.nextInt();
switch (choice) {
case 1:
System.out.print("请输入职位:");
String position = input.next();
double totalSalary = 0;
for (Employee employee : employeeList) {
if (employee.getPosition().equals(position)) {
totalSalary += employee.calculateSalary();
}
}
System.out.println(position + "的总工资为:" + totalSalary);
break;
case 2:
System.out.print("请输入工作年限:");
int workYears = input.nextInt();
double totalSalary2 = 0;
for (Employee employee : employeeList) {
if (employee.getWorkYears() == workYears) {
totalSalary2 += employee.calculateSalary();
}
}
System.out.println("工作" + workYears + "年的教职工的总工资为:" + totalSalary2);
break;
case 3:
double totalSalary3 = 0;
for (Employee employee : employeeList) {
totalSalary3 += employee.calculateSalary();
}
System.out.println("所有教职工的总工资为:" + totalSalary3);
break;
default:
System.out.println("输入有误,请重新选择统计方式!");
}
}
public static void statisticsAttendance(ArrayList<Employee> employeeList) {
Scanner input = new Scanner(System.in);
System.out.println("请选择统计方式:");
System.out.println("1. 出勤情况");
System.out.println("2. 请假情况");
System.out.println("3. 加班情况");
int choice = input.nextInt();
switch (choice) {
case 1:
System.out.print("请输入出勤情况:");
String attendance = input.next();
int count = 0;
for (Employee employee : employeeList) {
if (employee.getAttendance().equals(attendance)) {
count++;
}
}
System.out.println("出勤情况为" + attendance + "的教职工有" + count + "人");
break;
case 2:
System.out.print("请输入请假情况:");
String leave = input.next();
int count2 = 0;
for (Employee employee : employeeList) {
if (employee.getLeave().equals(leave)) {
count2++;
}
}
System.out.println("请假情况为" + leave + "的教职工有" + count2 + "人");
break;
case 3:
System.out.print("请输入加班情况:");
String overtime = input.next();
int count3 = 0;
for (Employee employee : employeeList) {
if (employee.getOvertime().equals(overtime)) {
count3++;
}
}
System.out.println("加班情况为" + overtime + "的教职工有" + count3 + "人");
break;
default:
System.out.println("输入有误,请重新选择统计方式!");
}
}
public static void outputEmployee(ArrayList<Employee> employeeList) {
System.out.println("教职工信息如下:");
for (Employee employee : employeeList) {
employee.output();
}
}
}
class Employee {
private String name;
private String gender;
private String birthdate;
private String idNumber;
private String phoneNumber;
private String address;
private String position;
private int workYears;
private double salary;
private double jobAllowance;
private double performanceBonus;
private String attendance;
private String leave;
private String overtime;
public Employee(String name, String gender, String birthdate, String idNumber, String phoneNumber, String address, String position, int workYears, double salary, double jobAllowance, double performanceBonus, String attendance, String leave, String overtime) {
this.name = name;
this.gender = gender;
this.birthdate = birthdate;
this.idNumber = idNumber;
this.phoneNumber = phoneNumber;
this.address = address;
this.position = position;
this.workYears = workYears;
this.salary = salary;
this.jobAllowance = jobAllowance;
this.performanceBonus = performanceBonus;
this.attendance = attendance;
this.leave = leave;
this.overtime = overtime;
}
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 getBirthdate() {
return birthdate;
}
public void setBirthdate(String birthdate) {
this.birthdate = birthdate;
}
public String getIdNumber() {
return idNumber;
}
public void setIdNumber(String idNumber) {
this.idNumber = idNumber;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public int getWorkYears() {
return workYears;
}
public void setWorkYears(int workYears) {
this.workYears = workYears;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public double getJobAllowance() {
return jobAllowance;
}
public void setJobAllowance(double jobAllowance) {
this.jobAllowance = jobAllowance;
}
public double getPerformanceBonus() {
return performanceBonus;
}
public void setPerformanceBonus(double performanceBonus) {
this.performanceBonus = performanceBonus;
}
public String getAttendance() {
return attendance;
}
public void setAttendance(String attendance) {
this.attendance = attendance;
}
public String getLeave() {
return leave;
}
public void setLeave(String leave) {
this.leave = leave;
}
public String getOvertime() {
return overtime;
}
public void setOvertime(String overtime) {
this.overtime = overtime;
}
public double calculateSalary() {
return salary + jobAllowance + performanceBonus;
}
public void output() {
System.out.println("姓名:" + name);
System.out.println("性别:" + gender);
System.out.println("出生日期:" + birthdate);
System.out.println("身份证号码:" + idNumber);
System.out.println("联系电话:" + phoneNumber);
System.out.println("家庭住址:" + address);
System.out.println("职位:" + position);
System.out.println("工作年限:" + workYears);
System.out.println("工资水平:" + salary);
System.out.println("岗位津贴:" + jobAllowance);
System.out.println("绩效奖金:" + performanceBonus);
System.out.println("出勤情况:" + attendance);
System.out.println("请假情况:" + leave);
System.out.println("加班情况:" + overtime);
System.out.println("总工资:" + calculateSalary());
System.out.println("-----------------------");
}
}
``
原文地址: https://www.cveoy.top/t/topic/hp2E 著作权归作者所有。请勿转载和采集!