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编写员工管理系统的基本方法。

Java员工管理系统:Staff和StaffManager类实现

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

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