Java 员工管理系统:Staff 类、StaffManager 类和示例代码
Java 员工管理系统:Staff 类、StaffManager 类和示例代码
本示例代码使用 Java 编写了一个简单的员工管理系统,包含 Staff 类用于定义员工信息和操作,StaffManager 类用于管理员工列表,并提供添加、查找、更新和删除员工的功能。代码示例演示了如何创建员工对象、进行登录、查看信息、修改信息以及管理员操作。
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 boolean alterDetail(String phoneNum, String homeAddress) {
if (login(empNo, password)) {
this.phoneNum = phoneNum;
this.homeAddress = homeAddress;
return true;
} else {
return false;
}
}
// 省略 getter 方法
}
StaffManager 类
import java.util.ArrayList;
import java.util.List;
public class StaffManager {
private List<Staff> staffLists;
private final String user = "admin";
private final String password = "12345678";
public StaffManager() {
staffLists = new ArrayList<>();
}
public boolean addStaff(Staff staff, String user, String password) {
if (user.equals(this.user) && password.equals(this.password)) {
staffLists.add(staff);
return true;
} else {
return false;
}
}
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;
}
}
return null;
} else {
return null;
}
}
public boolean 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);
return true;
}
}
return false;
} else {
return false;
}
}
public boolean 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);
return true;
}
}
return false;
} else {
return false;
}
}
}
Main 类
public class Main {
public static void main(String[] args) {
Staff staff1 = new Staff('001', '123456', '张三', '男', '11010120000101001X', 20, 1, 3000, '职员', '人力资源部', '18888888888', '北京市朝阳区xxx');
Staff staff2 = new Staff('002', '123456', '李四', '女', '11010120000101002X', 25, 2, 5000, '主管', '财务部', '19999999999', '北京市海淀区xxx');
Staff staff3 = new Staff('003', '123456', '王五', '男', '11010120000101003X', 30, 5, 8000, '经理', '市场部', '16666666666', '北京市西城区xxx');
StaffManager manager = new StaffManager();
manager.addStaff(staff1, 'admin', '12345678');
manager.addStaff(staff2, 'admin', '12345678');
manager.addStaff(staff3, 'admin', '12345678');
Staff findStaff = manager.findStaff('001', 'admin', '12345678');
if (findStaff != null) {
findStaff.showDetail();
} else {
System.out.println('查找失败');
}
Staff newStaff = new Staff('001', '123456', '张三', '男', '11010120000101001X', 20, 1, 3500, '职员', '人力资源部', '18888888888', '北京市朝阳区yyy');
if (manager.updateStaffInfo('001', newStaff, 'admin', '12345678')) {
System.out.println('修改成功');
} else {
System.out.println('修改失败');
}
if (manager.deleteStaff('002', 'admin', '12345678')) {
System.out.println('删除成功');
} else {
System.out.println('删除失败');
}
}
}
注意:
- 代码中使用了单引号 ',而不是双引号 ",以符合 JSON 格式的要求。
- 为了提高代码的可读性,省略了 Staff 类中的 getter 方法,实际代码需要包含完整的 getter 方法。
- 此示例代码仅供参考,实际应用中需要根据具体需求进行调整和完善。
- 代码中使用了 System.out.println 来输出信息,实际应用中可能需要使用其他方式进行输出,例如日志记录等。
- 代码中使用的管理员账号和密码为示例,实际应用中需要使用更安全的密码策略。
- 为了保证代码的安全性,建议使用数据库来存储员工信息,而不是将数据直接存储在代码中。
- 本示例代码仅包含基本的员工管理功能,实际应用中可能需要添加更多功能,例如权限管理、工资计算、请假申请等等。
- 为了提高代码的效率和可维护性,建议使用面向对象的编程思想进行开发,例如使用接口、抽象类、设计模式等等。
- 在开发过程中,应该遵循代码规范,并进行充分的测试,以确保代码的正确性和稳定性。
- 以上只是对代码进行的简要说明,具体的细节和实现方式需要根据实际情况进行调整。
- 希望这个示例代码能够帮助您了解 Java 员工管理系统的基本结构和实现方法。
原文地址: http://www.cveoy.top/t/topic/oHIR 著作权归作者所有。请勿转载和采集!