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 类中定义,方便使用。
  • 为了简化示例,代码中没有进行数据库操作,实际应用中需要根据实际情况进行数据库交互。
  • 以上代码仅提供了一个简单的示例,实际应用中需要根据具体需求进行完善和修改。
Java 员工管理系统:Staff 类和 StaffManager 类实现

原文地址: https://www.cveoy.top/t/topic/os8U 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录