Java实现员工管理系统

员工管理系统

其中里面的操作函数参考了https://blog.csdn.net/qicaixiao/article/details/104544440学生管理,侵删,谢谢!

Staff.java

//Staff.java
public class Staff {
    public static void main(String[] args) {
    }
    private String id;//工号
    private String name;//姓名
    private String age;//年龄
    private String address;//居住地
    public Staff() {
    }
    public Staff(String id, String name, String age, String address) {//构造函数
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}



StaffAdmin.java

//StaffAdmin.java
import java.util.ArrayList;
import java.util.Scanner;

public class StaffAdmin{
    public void menu(){
        System.out.println("-------------人力资源管理系统-------------");
        System.out.println("--------------【1】添加员工---------------");
        System.out.println("--------------【2】删除员工---------------");
        System.out.println("--------------【3】修改员工---------------");
        System.out.println("--------------【4】查看员工---------------");
        System.out.println("--------------【5】退出系统---------------");
        System.out.println("请输入你的选择:");
    }
    //添加员工
    public static void addstaff(ArrayList<Staff> array){
        int q=0;//此处q作为检验的标志,如果发现了重复元素,则q自加
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入工号");
        String id =sc.nextLine();
        for(int i=0;i<array.size();i++){//与已经添加集合的元素进行对比,如果相同则输出相应内容
            Staff s= array.get(i);
            if(s.getId().equals(id)){//元素的id变量与刚获取的变量利用方法进行对比
                System.out.println("输入的工号有重复,请检查后重新输入");
                q++;
                break;
            }
        }
        if(q==0){
            System.out.println("请输入姓名");
            String name =sc.nextLine();//获取输入字符串
            System.out.println("请输入年龄");
            String age =sc.nextLine();//获取输入字符串
            System.out.println("请输入居住地");
            String address =sc.nextLine();//获取输入字符串
            Staff s = new Staff();
            s.setId(id);//s对象调用前面的Staff.java里面的Set函数
            s.setAddress(address);
            s.setName(name);
            s.setAge(age);
            array.add(s);//通过array调用函数向集合里面添加数据
            System.out.println("添加成功!");
        }

    }
    //查看所有员工
    public static void findstaff(ArrayList<Staff> array){
        if(array.size()==0)
            System.out.println("暂时没有员工");
        else {
            System.out.println("工号\t姓名\t年龄\t居住地");
            for(int i =0;i<array.size();i++) {//集合的遍历
                Staff s= array.get(i); //对象获取集合的元素
                System.out.println(s.getId()+"     "+s.getName()+"    "+s.getAge()+"     "+s.getAddress());
            }
        }
    }
    //删除员工
    public static void remove(ArrayList<Staff> array) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除员工的工号");
        String id = sc.nextLine();//获取输入的员工号
        for (int i = 0; i < array.size(); i++) {
            Staff s = array.get(i);
            if (s.getId().equals(id)) {//输入的id等于集合中的id,即在集合中可以找到该员工的编号
                array.remove(i);
                System.out.println("删除员工成功");

                break;//如果一直查询到最后一个元素且不相等,就跳出进行elseif
            } else if(i==array.size()-1)//注意这里的i==array.size()-1是一直查询到最后一个且不满足的情况
            {
                System.out.println("没有找到该员工,请检查员工是否正确!");
                remove(array);
            }
        }
    }
    //修改员工
    public static void change (ArrayList<Staff> array) {

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要修改员工的工号");
        String id = sc.nextLine();
        for (int i = 0; i < array.size(); i++) {
            Staff s = array.get(i);
            if (s.getId().equals(id)) {
                System.out.println("请输入要修改的内容");
                System.out.println("1 工号");
                System.out.println("2 姓名");
                System.out.println("3 年龄");
                System.out.println("4 居住地");
                String q = sc.nextLine();
                System.out.println("请输入修改后内容:");
                String date = sc.nextLine();
                switch (q) {
                    case "1":
                        s.setId(date);//调用对应的的setId函数来对以前保存的工号进行修改
                        System.out.println("修改成功!");
                        break;
                    case "2":
                        s.setName(date);//调用对应的的setName函数来对以前的工号进行修改
                        System.out.println("修改成功!");
                        break;
                    case "3":
                        s.setAge(date);//调用对应的的setAge函数来对以前的工号进行修改
                        System.out.println("修改成功!");
                        break;
                    case "4":
                        s.setAddress(date);//调用对应的的setAddress函数来对以前的工号进行修改
                        System.out.println("修改成功!");
                        break;
                }
                break;
            } else if (i == array.size() - 1) {//注意这里的i==array.size()-1是一直查询到最后一个且不满足的情况
                System.out.println("没有找到该员工,请检查工号是否错误");
                change(array);
            }
        }
    }
}

StaffText.java

//StaffTest.java
import java.util.ArrayList;
import java.util.Scanner;
public class StaffText {
    public static void main(String[] args) {
        ArrayList<Staff> array =new ArrayList<Staff>();//创建一个集合
        while(true){
            StaffAdmin sta=new StaffAdmin();
            Scanner sc=new Scanner(System.in);
            sta.menu();//调用主菜单

           int m=sc.nextInt();
           if(m==1){
               sta.addstaff(array);//调用添加员工函数
           }
           else if(m==2){
               sta.remove(array);//调用删除员工函数
           }
           else if(m==3){
               sta.change(array);//调用修改员工函数
           }
           else if (m==4){
               sta.findstaff(array);//调用查看所有员工函数
           }
           else {
               System.out.println("退出中...");
               System.out.println("退出成功");
               System.exit(0);//退出程序
           }
        }
    }
    }


  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值