(面向对象)员工信息管理系统 1.当有新员工的时候将员工加入到管理系统 2.可以根据工号实现对该员工信息查询 3.可以现实查看所有员工信息 4.可以修改员工的薪水

本文介绍了一个简单的员工信息管理系统的设计与实现,包括添加、查询、修改、删除员工信息等功能,并实现了员工薪水排序及统计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.测试类

package com.hzyc.homework;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
    /*员工信息管理系统
    当有新员工的时候将员工加入到管理系统
    可以根据工号实现对该员工信息查询
    可以现实查看所有员工信息
    可以修改员工的薪水
    当员工离职时,可以删除员工信息从管理系统中

    可以按照员工薪水从低到高排序
    可以统计员工的平均工资和最低最高工资
    */
    
    
    boolean bol = true;
    Scanner scan = new Scanner(System.in);
    Tools tool = new Tools();
    
    while(bol){
    System.out.println("欢迎进入员工管理系统");
        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("--------------------6.按照员工薪水从低到高排序---------------------");
        System.out.println("--------------------7.统计员工的平均工资和最低最高工资---------------------");
               System.out.println("--------------------8.退出---------------------");
        
    int i =scan.nextInt();
    switch(i){
    case 1:
      tool.add();
      break;
    case 2:
      tool.check();
     break; 
    case 3:
      tool.allCheck();
     break;
    case 4:
      tool.update();
     break;
    case 5:
      tool.delete();
     break;
    case 6:
      tool.rank(0, tool.aList.size()-1);
      tool.allCheck();
      break;
    case 7:
      tool.statisticsSalary();
     break;
    case 8:
      System.out.println("欢迎使用,已退出");
      bol=false;
    
    }
}
   }

}

2.实体类

package com.hzyc.homework;


public class Emp {
   private int id=0;//员工号
   private String name=null;//名字
   private float sal=0;//工资
   
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}

  

}

 

3.工具类

package com.hzyc.homework;

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

public class Tools {
    Scanner scan = new Scanner(System.in);
   //成员属性
    ArrayList aList = null;
    
    //构造方法:初始化 不断创造新对象
    public Tools()
    {
    aList = new ArrayList();//注意写法!!
    }
    
    
    //1.添加员工信息
public void add() {
for(int i=1;i<=3;i++){
Emp emp = new Emp();
System.out.println("请输入员工的id"); 
   emp.setId(scan.nextInt());
   System.out.println("请输入员工姓名");
   emp.setName(scan.next());
   System.out.println("请输入员工工资");
   emp.setSal(scan.nextFloat());
   
   aList.add(emp);//储存员工信息    
} 
}


//2.根据工号实现对该员工信息查询
public void check(){
System.out.println("2.根据工号实现对该员工信息查询");
System.out.println("请输入员工编号");
Emp emp1 = (Emp)aList.get(scan.nextInt()-1);
System.out.println(emp1.getId()+" "+emp1.getName()+" "+emp1.getSal()); 
}

//3.查看所有员工信息
       public void allCheck() {
    System.out.println("3.查看所有员工信息");
    for(int i = 0; i<=aList.size()-1; i++){
Emp emp3 = (Emp)aList.get(i);
System.out.println(emp3.getId()+" "+emp3.getName()+" "+emp3.getSal()); 

    } 
}
    
 //4.修改员工的薪水
public void update() {
System.out.println("4.修改员工的薪水");
System.out.println("请输入员工编号");
int id = scan.nextInt();

Emp emp4 = (Emp)aList.get(id-1);
System.out.println(emp4.getId()+" "+emp4.getName()+" "+emp4.getSal());

System.out.println("请输入修改后的工资");
emp4.setSal(scan.nextInt());

aList.set(id-1, emp4);//修改后所储存的信息

}
//5.删除员工信息
public void delete() {
System.out.println("5.删除员工信息。----请输入员工编号:");

int id = scan.nextInt();
Emp emp5 = (Emp)aList.get(id-1);
System.out.println(emp5.getId()+" "+emp5.getName()+" "+emp5.getSal());

System.out.println("确认删除请输入:y");
if("y".endsWith(scan.next())){
aList.remove(id-1);
}else{
System.out.println("请合法输入");
}


}


//6.按照员工薪水从低到高排序
public void rank(int left, int right)
    {

int i = left;
        int j = right;
        
        if(i < j)//递归结束条件
        {
        Emp emp = (Emp)aList.get(left);
            float key  = emp.getSal();
            System.out.println("key:"+key);
            while(i<j)//一趟快速排序
            {
                while(i<j && ((Emp)aList.get(j)).getSal() >= key)
                {
                    j--;
                }
                if(i<j)
   

package com.hzyc.homework;

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

/**
 * @author xzt
 *
 */
public class Tools {
    Scanner scan = new Scanner(System.in);
   //成员属性
    ArrayList aList = null;
    
    //构造方法:初始化 不断创造新对象
    public Tools()
    {
        aList = new ArrayList();//注意写法!!
    }
    
    
    //1.添加员工信息
    public void add() {
        for(int i=1;i<=3;i++){
            Emp emp = new Emp();
            System.out.println("请输入员工的id");    
            emp.setId(scan.nextInt());
            System.out.println("请输入员工姓名");
            emp.setName(scan.next());
            System.out.println("请输入员工工资");
            emp.setSal(scan.nextFloat());
            
            aList.add(emp);//储存员工信息
            
        }
       
        
    }

    //2.根据工号实现对该员工信息查询
    public void check(){
        System.out.println("2.根据工号实现对该员工信息查询");
        System.out.println("请输入员工编号");
        Emp emp1 = (Emp)aList.get(scan.nextInt()-1);
        System.out.println(emp1.getId()+" "+emp1.getName()+" "+emp1.getSal());
        
    }
    
    //3.查看所有员工信息
    public void allCheck() {
        System.out.println("3.查看所有员工信息");
        for(int i = 0; i<=aList.size()-1; i++){
            Emp emp3 = (Emp)aList.get(i);
            System.out.println(emp3.getId()+" "+emp3.getName()+" "+emp3.getSal());    
            
        }    
    }
    
    //4.修改员工的薪水
    public void update() {
        System.out.println("4.修改员工的薪水");
        System.out.println("请输入员工编号");
        int id = scan.nextInt();
        
        Emp emp4 = (Emp)aList.get(id-1);
        System.out.println(emp4.getId()+" "+emp4.getName()+" "+emp4.getSal());
        
        System.out.println("请输入修改后的工资");
        emp4.setSal(scan.nextInt());
        
        aList.set(id-1, emp4);//修改后所储存的信息
        
    }
    //5.删除员工信息
    public void delete() {
        System.out.println("5.删除员工信息。----请输入员工编号:");
        
        int id = scan.nextInt();
        Emp emp5 = (Emp)aList.get(id-1);
        System.out.println(emp5.getId()+" "+emp5.getName()+" "+emp5.getSal());
        
        System.out.println("确认删除请输入:y");
        if("y".endsWith(scan.next())){
            aList.remove(id-1);
        }else{
            System.out.println("请合法输入");
        }
        
        
    }

    //6.按照员工薪水从低到高排序
    public void rank(int left, int right)
    {
        
        int i = left;
        int j = right;
        
        if(i < j)//递归结束条件
        {
            Emp emp = (Emp)aList.get(left);
            float key  = emp.getSal();
            System.out.println("key:"+key);
            while(i<j)//一趟快速排序
            {
                while(i<j && ((Emp)aList.get(j)).getSal() >= key)
                {
                    j--;
                }
                if(i<j)
                {
                    aList.set(i,aList.get(j));
                    i++;
                }
                while(i<j && ((Emp)aList.get(i)).getSal() <= key)
                {
                    i++;
                }
                if(i<j)
                {
                    aList.set(j, aList.get(i));
                }
            }
            aList.set(i, emp);
            rank(left, i-1);
            rank(i+1, right);
        }
    }

    //统计员工的平均工资、最高工资和最低工资
    public void statisticsSalary()
    {
        float totalSal = 0;
        float minSal = ((Emp)aList.get(0)).getSal();
        float maxSal = ((Emp)aList.get(0)).getSal();
        
        for(int i=0; i<aList.size(); i++)
        {
            Emp emp = (Emp)aList.get(i);
            totalSal += emp.getSal();
            if(minSal > emp.getSal())
            {
                minSal = emp.getSal();
            }
            if(maxSal < emp.getSal())
            {
                maxSal = emp.getSal();
            }
        }
        System.out.println(aList.size()+"个人平均工资的薪资为:"+totalSal/aList.size());
        System.out.println(aList.size()+"个人的最低薪资为:"+minSal);
        System.out.println(aList.size()+"个人的最高薪资为:"+maxSal)    
    }   

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值