Java第三周-利用集合实现员工信息管理

利用集合实现员工信息管理:
员工类(父类):

package my.employee;

public class Employee {
    //基本属性
    private String ID;
    private String name;
    private String position;
    private int holiday;
    private double salary;
    //构造方法
    public Employee(String iD,String name,String position,int holiday,double salary){
        super();
        this.ID=iD;
        this.name=name;
        this.position=position;
        this.holiday=holiday;
        this.salary=salary;
    }
    //get,set方法
    public String getID() {
        return ID;
    }
    public void setID(String iD) {
        ID = iD;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPosition() {
        return position;
    }
    public void setPosition(String position) {
        this.position = position;
    }
    public int getHoliday() {
        return holiday;
    }
    public void setHoliday(int holiday) {
        this.holiday = holiday;
    }
    public double getSalary() {
        return salary;
    }
    public void setSalary(double salary) {
        this.salary = salary;
    }
    //工资计算
    public double sumSalary(int holiday){
        return 1;
    }
    //结果输出
    public void display(){
        System.out.println("编号:"+this.ID+"姓名:"+this.name+"职务:"+this.position+"请假天数:"+this.holiday+"工资"+this.sumSalary(this.holiday));
    }


}

董事类(子类);

public class Director extends Employee{
    //构造方法
    public Director(String iD,String name,String position,int holiday,double salary){
        super(iD,name,position,holiday,salary);
        this.setID(iD);
        this.setName(name);
        this.setPosition(position);
        this.setHoliday(holiday);
        this.setSalary(salary);
    }
    //工资计算
    public double sumSalary(int holiday){
        return (this.getSalary()*1.38+5000)/30*(30-this.getHoliday());
    }

}

经理类(子类):

public class Manager extends Employee {
    //构造方法
    public Manager(String iD,String name,String position,int holiday,double salary){
        super(iD,name,position,holiday,salary);
        this.setID(iD);
        this.setName(name);
        this.setPosition(position);
        this.setHoliday(holiday);
        this.setSalary(salary);
    }
    //工资计算
    public double sumSalary(int holiday){
        return (this.getSalary()*1.7+500)/30*(30-this.getHoliday());
    }

普通员工类(子类);

public class CommonEmployee extends Employee {
    //构造方法
    public CommonEmployee(String iD,String name,String position,int holiday,double salary){
        super(iD,name,position,holiday,salary);
        this.setID(iD);
        this.setName(name);
        this.setPosition(position);
        this.setHoliday(holiday);
        this.setSalary(salary);
    }
    //工资计算
    public double sumSalary(int holiday){
        return (this.getSalary()*1.6+200)/30*(30-this.getHoliday());
    }
}

员工信息处理类:

import java.util.ArrayList;
import java.util.Scanner;

public class EmployeeInformationPro {
    public static ArrayList<Employee> ems=new ArrayList();
    public void addEmployee(){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入员工编号:");
        String id=sc.nextLine();
        System.out.println("请输入员工姓名:");
        String name=sc.nextLine();
        System.out.println("情书员工的职务:(employee,manager,chaieman)");
        String position=sc.nextLine();
        System.out.println("请输入员工的请假天数:");
        int holiday=sc.nextInt();
        System.out.println("请输入员工的基本工资:");
        double salary=sc.nextDouble();
        if(position.equals("employee")){
            Employee newOne=new CommonEmployee(id,name,position,holiday,salary);
            ems.add(newOne);
            System.out.print("增加数据成功");
            newOne.display();
        }else if(position.equals("mangager")){
            Employee newOne=new Manager(id,name,position,holiday,salary);
            ems.add(newOne);
            System.out.print("增加数据成功");
            newOne.display();
        }else if(position.equals("chairman")){
            Employee newOne=new Director(id,name,position,holiday,salary);
            ems.add(newOne);
            System.out.print("增加数据成功");
            newOne.display();
        }else 
            System.out.println("您所输入的职务不存在");
    }
    public void delEmployee(){
        Scanner sc=new Scanner(System.in);
        boolean flag=false;
        System.out.println("请输入员工姓名:");
        String name=sc.nextLine();
        for(int i=0;i<ems.size();i++){
            Employee em=ems.get(i);
            if(em.getName().equals(name)){
                em.display();
                ems.remove(i);
                System.out.println("删除数据成功!");
                flag=true;
                break;
            }
        }
        if(!flag){
            System.out.println("您输入的员工姓名不存在!");
        }
    }
    public void updateEmployee(){
        Scanner sc=new Scanner(System.in);
        int count=0;
        boolean flag=false;
        System.out.println("请输入员工姓名:");
        String name=sc.nextLine();
        Employee em;
        for(int i=0;i<ems.size();i++){
            em=ems.get(i);
            if(em.getName().equals(name)){
                em.display();
                flag=true;
                count=i;
                break;
            }
        }
        if(!flag){
            System.out.println("您输入的员工姓名不存在!");
        }else{
            System.out.println("请重新输入员工信息:");
            System.out.println("请输入员工编号:");
            String id=sc.nextLine();
            System.out.println("请输入员工姓名:");
            String names=sc.nextLine();
            System.out.println("情书员工的职务:(employee,manager,chaieman)");
            String position=sc.nextLine();
            System.out.println("请输入员工的请假天数:");
            int holiday=sc.nextInt();
            System.out.println("请输入员工的基本工资:");
            double salary=sc.nextDouble();
            if(position.equals("employee")){
                Employee newOne=new CommonEmployee(id,names,position,holiday,salary);
                ems.remove(count);
                ems.add(newOne);
                System.out.print("修改数据成功");
                newOne.display();
            }else if(position.equals("manager")){
                Employee newOne=new Manager(id,names,position,holiday,salary);
                ems.remove(count);
                ems.add(newOne);
                System.out.print("修改数据成功");
                newOne.display();
            }else if(position.equals("chairman")){
                Employee newOne=new Director(id,names,position,holiday,salary);
                ems.remove(count);
                ems.add(newOne);
                System.out.print("修改数据成功");
                newOne.display();
            }else {
                System.out.println("您所输入的职务不存在");
            }
        }



    }
    public void queryEmployee(){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入员工姓名:");
        String name=sc.nextLine();
        boolean flag=false;
        for(int i=0;i<ems.size();i++){
            Employee em=ems.get(i);
            if(em.getName().equals(name)){
                em.display();
                flag=true;
                break;
            }
        }
        if(!flag){
            System.out.println("您输入的员工姓名不存在!");
        }

    }

}

测试类:

import java.util.Scanner;

public class TestEmployee {
    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("|-----0 退出.-----|");
        System.out.println("|---------------|");
    }
    public static void main(String []args){
        EmployeeInformationPro EIP=new EmployeeInformationPro(); 
        TestEmployee TE=new TestEmployee();
        Scanner sc=new Scanner(System.in);
        TE.Menu();
        while(true){
           int choose=sc.nextInt();
           switch(choose){
              case 0:
                  System.exit(0);
                  break;
              case 1:
                  EIP.addEmployee();
                  TE.Menu();
                  break;
              case 2:
                  EIP.delEmployee();
                  TE.Menu();
                  break;
              case 3:
                  EIP.updateEmployee();
                  TE.Menu();
                  break;
              case 4:
                  EIP.queryEmployee();
                  TE.Menu();
                  break;
              default:
                  System.out.println("输入选项不存在,请重新输入!");
                  TE.Menu();
                  break;
           }
        }
    }
}

如有考虑不全,尽情谅解。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值