Java实现简单员工管理系统

 更新时间:2022年02月25日 10:33:31   作者:大菜彩  
这篇文章主要为大家详细介绍了Java实现简单员工管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java实现简单员工管理系统的具体代码,供大家参考,具体内容如下

代码如下:

import java.util.*;
public class Demo {
    public static void main(String[] args) {
        EmpManage em = new EmpManage();
        while (true) {
            System.out.println("==================员工管理系统====================");
            System.out.println("==================0.加载原有信息==================");
            System.out.println("==================1.加入员工=====================");
            System.out.println("==================2.删除员工=====================");
            System.out.println("==================3.查询员工信息==================");
            System.out.println("==================4.修改员工薪水 ==================");
            System.out.println("==================5.薪水排序======================");
            System.out.println("==================6.平均工资、最低与最高工资=======");
            System.out.println("==================7.打印全体员工信息==============");
            System.out.println("==================8.退出系统=====================");
            System.out.print("请选择功能【0~8】:");
            Scanner reader = new Scanner(System.in);
            int x;
            x = reader.nextInt();
            switch (x) {
            case 0:
                Employee e1 = new Employee("2001","轩辕戈",2002f);
                Employee f = new Employee("2002","季长风",4500f);
                Employee g = new Employee("2003","鱼幼薇",2560f);
                Employee h = new Employee("2004","李小龙",1604f);
                em.addEmp(e1);
                em.addEmp(f);
                em.addEmp(g);
                em.addEmp(h);
                System.out.println("加载完毕!");
                break;
            case 1:
                System.out.println("请输入要增加员工的信息(编号,姓名,薪水中间用空格隔开)");
                String a, b;
                float c;
                a = reader.next();
                b = reader.next();
                c = reader.nextFloat();
                Employee e = new Employee(a, b, c);
                em.addEmp(e);
                System.out.println("加入成功!");
                break;
            case 2:
                System.out.print("请输入要刪除員工的编号:");
                String y;
                y=reader.next();
                em.deleteEmp(y);
                System.out.println("删除成功!");
                break;
            case 3:
                System.out.print("请输入要查询員工的编号:");
                String z;
                z=reader.next();
                em.showinfo(z);
                break;
            case 4:
                System.out.print("请输入要修改員工的编号:");
                String w;
                w=reader.next();
                System.out.print("请输入要修改成的工资数目:");
                float v;
                v=reader.nextFloat();
                em.changesal(w, v);
                System.out.println("修改成功!");
                break;
            case 5:
                System.out.println("1.按薪水从高到低的顺序排序");
                System.out.println("2.按薪水从低到高的顺序排序");
                System.out.print("请选择功能【1~2】:");
                int t;
                t=reader.nextInt();
                if(t==1)
                {
                    em.sorthl();
                }
                if(t==2)
                {
                    em.sortlh();
                }
                break;
            case 6:
                em.hlsal();
                break;
            case 7:
                em.showAll();
                break;
            case 8:
                System.out.println("程序已经运行结束,下次见!");
                System.exit(0);
                break;
            default:
                System.out.print("数字范围只能在1~8之间!");
            }
        }
    }
}
//雇员管理类
class EmpManage
{
    private ArrayList al=null;
    //构造方法
    public EmpManage() {
        al=new ArrayList();
    }
    //加入员工方法
    public void addEmp(Employee e)
    {
        al.add(e);
    }
    //刪除员工
    public void deleteEmp(String x)
    {
        int i;
        for(i=0;i<al.size();i++)
        {
            Employee temp=(Employee)al.get(i);
            if(temp.getEmNo().equals(x))
                break;
        }
        al.remove(i-1);
    }
    //根据员工号显示该员工的信息
    public void showinfo(String emNo)
    {
        //遍历整个ArrayList
        for(int i=0;i<al.size();i++)
        {
            Employee em=(Employee)al.get(i);
            if(em.getEmNo().equals(emNo))
            {
                System.out.println("编号:"+em.getEmNo()+"   "+"姓名:"+em.getName()+"   "+"工资:"+em.getSal());
            }
        }
    }
    //修改员工的薪水
    public void changesal(String x,float y)
    {
        for(int i=0;i<al.size();i++)
        {
            Employee em=(Employee) al.get(i);
            if(em.getEmNo().equals(x))
            {
                em.setSal(y);
            }
                
        }
        
    }
    //根据员工的薪水进行排序(从高到低)
    public void sorthl()
    {
        
        String a,b;
        float c;
        for(int i=0;i<al.size()-1;i++)
        {
            
            Employee e=(Employee)al.get(i);
            for(int j=i+1;j<al.size();j++)
            {
                Employee m=(Employee)al.get(j);
                if(e.getSal()<m.getSal())
                {
                    a=e.getEmNo();
                    e.setEmNo(m.getEmNo());
                    m.setEmNo(a);
                    
                    b=e.getName();
                    e.setName(m.getName());
                    m.setName(b);
                    
                    c=e.getSal();
                    e.setSal(m.getSal());
                    m.setSal(c);
                }
            }
            
        }
        System.out.println("排序成功!");
        System.out.println("打印信息如下:");
        showAll();
    }
    //根据员工的薪水进行排序(从低到高)
    public void sortlh()
    {
        String a,b;
        float c;
        for(int i=0;i<al.size()-1;i++)
        {
            
            Employee e=(Employee)al.get(i);
            for(int j=i+1;j<al.size();j++)
            {
                Employee m=(Employee)al.get(j);
                if(e.getSal()>m.getSal())
                {
                    a=e.getEmNo();
                    e.setEmNo(m.getEmNo());
                    m.setEmNo(a);
                    
                    b=e.getName();
                    e.setName(m.getName());
                    m.setName(b);
                    
                    c=e.getSal();
                    e.setSal(m.getSal());
                    m.setSal(c);
                }
            }
            
        }
        System.out.println("排序成功!");
        System.out.println("打印信息如下:");
        showAll();
    }
    //平均工资、最高与最低工资
    public void hlsal()
    {
        float x=0,h,l=0;
        for(int i=0;i<al.size();i++)
        {
            Employee e=(Employee)al.get(i);
            x=x+e.getSal();
        }
        System.out.println("平均工资:"+x/al.size());
        Employee s=(Employee)al.get(0);
        h=s.getSal();
        l=s.getSal();
        for(int i=0;i<al.size();i++)
        {
            Employee v=(Employee)al.get(i);
            if(v.getSal()>h)
                h=v.getSal();
            if(v.getSal()<l)
                l=v.getSal();
        }
        System.out.println("最高工资:"+h);
        System.out.println("最低工资:"+l);
    }
    //显示所有员工的信息
    public void showAll()
    {
        for(int i=0;i<al.size();i++)
        {
            Employee em=(Employee)al.get(i);
            System.out.println("第"+(i+1)+"个员工:    "+"编号:"+em.getEmNo()+"    "+"姓名:"+em.getName()+"    "+"工资:"+em.getSal());
        }
    }
}

//员工类
class Employee {
    private String emNo;
    private String name;
    private float sal;

    // 构造方法
    public Employee(String emNo, String name, float sal) {
        super();
        this.emNo = emNo;
        this.name = name;
        this.sal = sal;
    }

    // 所有的getter和setter方法
    public String getEmNo() {
        return emNo;
    }

    public void setEmNo(String emNo) {
        this.emNo = emNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public float getSal() {
        return sal;
    }

    public void setSal(float sal) {
        this.sal = sal;
    }
}

运行示例:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java中出现java.lang.IllegalStateException异常错误的解决

    Java中出现java.lang.IllegalStateException异常错误的解决

    这篇文章主要介绍了Java中出现java.lang.IllegalStateException异常错误的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • JVM执行引擎和垃圾回收要点总结

    JVM执行引擎和垃圾回收要点总结

    不论是在问题现场还是跳槽面试,我们面对JVM性能问题,依旧会束手无辞,它需要你对Java虚拟机的实现和优化,有极为深刻的理解。所以我在这里整理了一下 JVM的知识点。今天说说虚拟机执行引擎和垃圾回收,都是十足的干货,请各位看官耐心批阅!
    2021-06-06
  • SpringBoot自动配置的原理详解

    SpringBoot自动配置的原理详解

    这篇文章主要介绍了SpringBoot自动配置的原理详解,本节更详细地介绍了如何使用 Spring Boot,它涵盖了诸如构建系统、自动配置以及如何运行应用程序等主题,我们还介绍了一些 Spring Boot 最佳实践,需要的朋友可以参考下
    2023-09-09
  • Java中的泛型和泛型通配符详解

    Java中的泛型和泛型通配符详解

    这篇文章主要介绍了Java中的泛型和泛型通配符详解,泛型的作用就是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,需要的朋友可以参考下
    2023-07-07
  • java判断list不为空的实现,和限制条数不要在一起写

    java判断list不为空的实现,和限制条数不要在一起写

    这篇文章主要介绍了java判断list不为空的实现,和限制条数不要在一起写。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Java 10 局部变量类型推断浅析

    Java 10 局部变量类型推断浅析

    这篇文章主要介绍了Java 10 局部变量类型推断浅析,Java 10 引进一种新的闪闪发光的特性叫做局部变量类型推断。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • java正则表达式匹配网页所有网址和链接文字的示例

    java正则表达式匹配网页所有网址和链接文字的示例

    这篇文章主要介绍了java正则表达式匹配网页所有网址和链接文字java正则表达式匹配,需要的朋友可以参考下
    2014-03-03
  • java实战项目之记账软件

    java实战项目之记账软件

    这篇文章主要介绍了java实战项目之记账软件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 解决java字符串转换成时间Unparseable date出错的问题

    解决java字符串转换成时间Unparseable date出错的问题

    这篇文章主要介绍了解决java字符串转换成时间Unparseable date出错的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • java遍历properties文件操作指南

    java遍历properties文件操作指南

    在java项目开发过程中,使用properties文件作为配置基本上是必不可少的,有很多如系统配置信息,java如何遍历properties文件呢,本文将详细介绍,希望可以帮助到您
    2012-11-11

最新评论