Java 员工管理系统:Staff 类和 StaffManager 类实现
Java 员工管理系统:Staff 类和 StaffManager 类实现
本文将使用 Java 编写 Staff 类和 StaffManager 类,实现一个简单的员工管理系统。该系统包含以下功能:
Staff 类:
- **属性:**工号(
empNo)、密码(password)、姓名(empName)、性别(gender)、身份证号(idCardNo)、年龄(age)、工龄(seniority)、工资(wages)、职称(title)、所属部门(department)、联系方式(phoneNum)、家庭住址(homeAddress)。 - 方法:
login(int empNo, String password):检查输入的工号和密码是否与员工信息一致,一致则返回true,否则返回false。showDetail():显示员工的个人信息。alterDetail(String phoneNum, String homeAddress):修改员工的联系方式和家庭住址。
StaffManager 类:
- **属性:**员工列表(
staffLists)、管理员账号(user)、管理员密码(password)。 - 方法:
addStaff(Staff staff, String user, String password):新增员工,需要输入管理员账号和密码验证。findStaff(int empNo, String user, String password):查找指定员工信息,需要输入管理员账号和密码验证。updateStaffInfo(int empNo, Staff newStaff, String user, String password):更新指定员工信息,需要输入管理员账号和密码验证。deleteStaff(int empNo, String user, String password):删除指定员工,需要输入管理员账号和密码验证。
Staff 类代码:
public class Staff {
private int 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(int 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(int empNo, String password) {
if (this.empNo == empNo && this.password.equals(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;
}
// Getter 方法
public int getEmpNo() {
return empNo;
}
}
StaffManager 类代码:
import java.util.ArrayList;
public class StaffManager {
private ArrayList<Staff> staffLists;
private String user;
private String password;
public StaffManager(String user, String password) {
staffLists = new ArrayList<>();
this.user = user;
this.password = password;
}
public void addStaff(Staff staff, String user, String password) {
if (this.user.equals(user) && this.password.equals(password)) {
staffLists.add(staff);
System.out.println('员工添加成功!');
} else {
System.out.println('管理员账号或密码错误,无法添加员工!');
}
}
public Staff findStaff(int empNo, String user, String password) {
if (this.user.equals(user) && this.password.equals(password)) {
for (Staff staff : staffLists) {
if (staff.getEmpNo() == empNo) {
return staff;
}
}
System.out.println('没有找到该员工!');
return null;
} else {
System.out.println('管理员账号或密码错误,无法查找员工!');
return null;
}
}
public void updateStaffInfo(int empNo, Staff newStaff, String user, String password) {
if (this.user.equals(user) && this.password.equals(password)) {
for (int i = 0; i < staffLists.size(); i++) {
if (staffLists.get(i).getEmpNo() == empNo) {
staffLists.set(i, newStaff);
System.out.println('员工信息更新成功!');
return;
}
}
System.out.println('没有找到该员工,无法更新员工信息!');
} else {
System.out.println('管理员账号或密码错误,无法更新员工信息!');
}
}
public void deleteStaff(int empNo, String user, String password) {
if (this.user.equals(user) && this.password.equals(password)) {
for (int i = 0; i < staffLists.size(); i++) {
if (staffLists.get(i).getEmpNo() == empNo) {
staffLists.remove(i);
System.out.println('员工删除成功!');
return;
}
}
System.out.println('没有找到该员工,无法删除员工!');
} else {
System.out.println('管理员账号或密码错误,无法删除员工!');
}
}
}
注意:
- 以上代码中的
getEmpNo()方法已在Staff类中定义,方便使用。 - 为了简化示例,代码中没有进行数据库操作,实际应用中需要根据实际情况进行数据库交互。
- 以上代码仅提供了一个简单的示例,实际应用中需要根据具体需求进行完善和修改。
原文地址: https://www.cveoy.top/t/topic/os8U 著作权归作者所有。请勿转载和采集!