Java员工管理系统:Staff和StaffManager类实现
Java员工管理系统:Staff和StaffManager类实现
本文将介绍使用Java编写员工管理系统的两个核心类:Staff类和StaffManager类。
Staff类
Staff类包含员工的基本信息,并定义了以下三种方法:
- 登录系统方法(
login):检查输入的工号和密码,如果与员工工号和密码不一致,则登录失败,返回false,如果一致则登录成功,返回true。 - 查看个人信息的方法(
showDetail):打印员工的所有信息。 - 修改个人信息的方法(
alterDetail):仅支持修改联系方式和家庭住址。
Staff类实现如下:
public class Staff {
private String empNo;
private String password;
private String empName;
private String gender;
private String idCardNo;
private int age;
private int seniority;
private double wages;
private String title;
private String department;
private String phoneNum;
private String homeAddress;
public Staff(String empNo, String password, String empName, String gender, String idCardNo,
int age, int seniority, double wages, String title, String department,
String phoneNum, String homeAddress) {
this.empNo = empNo;
this.password = password;
this.empName = empName;
this.gender = gender;
this.idCardNo = idCardNo;
this.age = age;
this.seniority = seniority;
this.wages = wages;
this.title = title;
this.department = department;
this.phoneNum = phoneNum;
this.homeAddress = homeAddress;
}
public boolean login(String empNo, String password) {
if (empNo.equals(this.empNo) && password.equals(this.password)) {
return true;
} else {
return false;
}
}
public void showDetail() {
System.out.println('员工工号:' + empNo);
System.out.println('员工姓名:' + empName);
System.out.println('性别:' + gender);
System.out.println('身份证号:' + idCardNo);
System.out.println('年龄:' + age);
System.out.println('工龄:' + seniority);
System.out.println('工资:' + wages);
System.out.println('职称:' + title);
System.out.println('所属部门:' + department);
System.out.println('联系方式:' + phoneNum);
System.out.println('家庭住址:' + homeAddress);
}
public void alterDetail(String phoneNum, String homeAddress) {
this.phoneNum = phoneNum;
this.homeAddress = homeAddress;
}
}
StaffManager类
StaffManager类包含员工列表(staffLists)和管理员账号信息,并定义了以下方法:
- 新增员工(
addStaff):输入一个新员工对象,加入员工列表中。 - 查找指定员工信息(
findStaff):根据输入的员工编号查找到对应员工,并返回对应员工对象。 - 更新指定员工信息(
updateStaffInfo):输入员工编号及新的员工对象,先在员工列表中找到对应的员工对象,将新的员工对象替换原有对象。 - 删除指定员工(
deleteStaff):根据输入的员工编号查找到对应员工,从员工列表中删除。
所有方法中都需要输入管理员账号和密码,核对正确才能进行操作。
StaffManager类实现如下:
import java.util.ArrayList;
public class StaffManager {
private ArrayList<Staff> staffLists;
private String user;
private String password;
public StaffManager(String user, String password) {
this.staffLists = new ArrayList<>();
this.user = user;
this.password = password;
}
public void addStaff(Staff staff, String user, String password) {
if (user.equals(this.user) && password.equals(this.password)) {
staffLists.add(staff);
System.out.println('员工添加成功!');
} else {
System.out.println('管理员账号或密码错误,员工添加失败!');
}
}
public Staff findStaff(String empNo, String user, String password) {
if (user.equals(this.user) && password.equals(this.password)) {
for (Staff staff : staffLists) {
if (staff.getEmpNo().equals(empNo)) {
return staff;
}
}
System.out.println('未找到指定员工!');
return null;
} else {
System.out.println('管理员账号或密码错误,查找失败!');
return null;
}
}
public void updateStaffInfo(String empNo, Staff newStaff, String user, String password) {
if (user.equals(this.user) && password.equals(this.password)) {
for (int i = 0; i < staffLists.size(); i++) {
if (staffLists.get(i).getEmpNo().equals(empNo)) {
staffLists.set(i, newStaff);
System.out.println('员工信息更新成功!');
return;
}
}
System.out.println('未找到指定员工,员工信息更新失败!');
} else {
System.out.println('管理员账号或密码错误,员工信息更新失败!');
}
}
public void deleteStaff(String empNo, String user, String password) {
if (user.equals(this.user) && password.equals(this.password)) {
for (int i = 0; i < staffLists.size(); i++) {
if (staffLists.get(i).getEmpNo().equals(empNo)) {
staffLists.remove(i);
System.out.println('员工删除成功!');
return;
}
}
System.out.println('未找到指定员工,员工删除失败!');
} else {
System.out.println('管理员账号或密码错误,员工删除失败!');
}
}
}
本文提供的代码示例仅供参考,实际应用中还需要根据具体需求进行修改和完善。例如,可以添加更多功能,如员工权限管理、工资计算等。
希望本文能够帮助您了解使用Java编写员工管理系统的基本方法。
原文地址: https://www.cveoy.top/t/topic/otal 著作权归作者所有。请勿转载和采集!