【Java】编写一个描述职工基本情况的类

【Java】编写一个描述职工基本情况的类

要求

编写一个描述职工基本情况的类
属性包括姓名,职工号,性别,年龄,职务,部门,工资,奖金,方法包括输出个人信息,分配部门,设置职务,分配奖金,计算薪水, 要求实现职工号自动生成,不需要指定,按照创建的顺序给职工自动分配职工号,自动统计职工人数。
同时实现对所录入的职工按照部门或者年龄或者职务进行输出。

代码

import java.util.Comparator;

class Employee {
    String name;
    char sex;
    int age;
    //long l = System.currentTimeMillis();
    long id;//随机生成工号
    String department;
    String title;
    int salary;
    int award;
    public static int num=0;

    //分配奖金
    public int getAward() {
        if (age < 25)
            award = 500;
        else if (age >= 25 && age < 35)
            award = 1000;
        else if (age >= 35 && age < 45)
            award = 1500;
        else if (age >= 45)
            award = 2000;
        salary += award * 12;
        return salary;
    }

    public int getAge() {
        return age;
    }

    public String getDepartment()
    {
        return department;
    }
    public String getTitle()
    {
        return title;
    }
    public long getID()
    {
        return id;
    }
    public int getNum()
    {
        return num;
    }
    public Employee(long id,String name,char sex,int age,String title,String department,int salary)
    {
        this.id=id;
        this.name=name;
        this.sex=sex;
        this.age=age;
        this.title=title;
        this.department=department;
        this.salary=salary;
        //this.award=award;
        num++;//人数增长
    }
    
    //显示相关信息
    public void showinform() {
        System.out.println("工号:" + id + " "+",姓名:" + name +" "+ ",年龄:" + age + " "+",性别:" + sex +" "+ ",职位:" + title +" "+ ",部门:" + department +" "+ "薪水:" +getAward());
    }
}

class AgeComparator implements Comparator<Employee>
{
    public int compare(Employee o1, Employee o2) {

        if(o1.getAge()>o2.getAge())
            return 1;
        else
            return -1;
    }
}
class DepComparator implements Comparator<Employee>
{
    public int compare(Employee o1, Employee o2)
    {
        String s1=o1.getDepartment();
        String s2=o2.getDepartment();
        return s1.compareTo(s2);
    }
}
//
class TitComparator implements Comparator<Employee>
{
    public int compare(Employee o1, Employee o2)
    {
        String s1=o1.getTitle();
        String s2=o2.getTitle();
        return s1.compareTo(s2);
    }
}




    public class Employee1 {

        public static void main(String[] args) {


            Employee e[] = {
                    new Employee( (int)(Math.random()*100)+50, "红豆", '女', 22, "应届生","实习", 4000),
                    new Employee( (int)(Math.random()*100)+50, "芋头", '女', 30, "运营", "经理",8000),
                    new Employee( (int)(Math.random()*100)+50, "芋圆", '女', 45, "hr", "经理",7000),
                    new Employee( (int)(Math.random()*100)+50, "麻薯", '男', 35, "产品","总经理", 6500),
                    new Employee( (int)(Math.random()*100)+50, "炸鸡", '女', 26, "销售", "秘书",9000),
                    new Employee( (int)(Math.random()*100)+50, "布丁", '女', 23, "应届生", "实习",5000),
                    new Employee((int)(Math.random()*100)+50, "奶盖", '女', 28, "运营", "总监",7000),
                    new Employee((int)(Math.random()*100)+50, "双皮奶", '女', 42, "运营", "经理",6000),
                    new Employee((int)(Math.random()*100)+50, "冰激凌", '女', 37, "hr", "实习",8000)
            };

//
            System.out.println("公司有"+e[0].getNum()+"人,按部门排序,相关信息为:");
            java.util.Arrays.sort(e,new DepComparator());
            for(Employee s:e)
            {
                s.showinform();
            }
            System.out.println("——————————————————————————————————————————————————————————————————————");
            System.out.println("公司有"+e[0].getNum()+"人,按年龄排序,相关信息为:");
            java.util.Arrays.sort(e, new AgeComparator());
            for (Employee s : e) {
                s.showinform();
            }
            System.out.println("——————————————————————————————————————————————————————————————————————");
            System.out.println("公司有"+e[0].getNum()+"人,按职位排序,相关信息为:");
        java.util.Arrays.sort(e,new TitComparator());
        for(Employee s:e)
        {
            s.showinform();
        }
        }
    }

不是很会写,很烦。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值