/**
*   公司职员薪水管理系统,有以下功能
*   1,当有新员工时,将加入该管理系统
*   2,根据员工号,显示该员工信息
*   3,可以显示所有员工的信息
*   4,可以修改员工的薪水
*   5,当员工离职时,从该系统中删除该员工
*   6,可以将员工按薪水高低排序(思考)
*   7,统计员工的平均工资,最高和最低工资
*/
import java.util.ArrayList;
import java.util.Scanner;public class Employees {static ArrayList<Employee> list = new ArrayList<Employee>();static Scanner input = new Scanner(System.in);   public static void main(String[] args) {    System.out.println("欢迎使用职工薪水管理系统\n");while(true){System.out.println("-------------------------------------------------------------------------------------------------------------------");System.out.println("请选择:\n1.添加员工    2.查询员工信息    3.显示所有员工信息    4.修改员工薪水    5.删除员工    6.员工薪水排序    7.统计平均工资,最高、低工资");System.out.print("请输入序号:");int choice = input.nextInt();switch(choice){case 1:addEmployee(); //添加员工break;case 2:selectEmployee(); //根据员工号查询员工信息break;case 3:showAllEmployee(); //显示所有员工信息break;case 4:updateEmployeeMoney(); //修改员工薪水break;case 5:delEmployee(); //删除员工break;case 6:MoneySort(); //薪资排序break;case 7:other(); //统计员工的平均工资,最高和最低工资break;default:System.out.println("\n没有这个选项,请重新选择!!!!!");}}}//添加员工public static void addEmployee(){System.out.println("\n--------------添加员工-------------");String id;String name;double salary;while(true){boolean flag = false;System.out.print("请输入员工号:");id = input.next();for(int i=0;i<list.size();i++){   //判断是否有相同员工号Employee emp = list.get(i);if(emp.getId().equals(id)){flag = true;} else {break;}}//添加的员工号如果已存在会让重新输入,没有则会跳出循环if(flag){System.out.println("该员工号已存在,请重新输入!!!!!");} else {break;}}System.out.print("请输入员工姓名:");name = input.next();System.out.print("请输入员工工资:");salary = input.nextDouble();Employee emp = new Employee(id, name, salary);boolean bool = list.add(emp);if(bool==true){System.out.println("恭喜,添加成功!");} else {System.out.println("员工数据添加失败!");}}//查询员工信息public static void selectEmployee(){System.out.println("\n--------------查询员工信息-------------");System.out.print("请输入要查询的员工号:");boolean flag = false;String checkId = input.next();for(int i=0;i<list.size();i++){Employee emp = list.get(i);if(emp.getId().equals(checkId)){System.out.println("查询成功!");System.out.println("员工号   员工姓名      薪资");System.out.println(emp.toString());flag = true;}}if(flag == false){System.out.println("该员工不存在!");}}//显示所有员工信息public static void showAllEmployee(){if(list.size()==0){System.out.println("无员工信息");return;}System.out.println("员工号   员工姓名      薪资");for(Employee emp:list){System.out.println(emp.toString());}}//修改员工薪资public static void updateEmployeeMoney(){System.out.println("\n--------------员工薪资修改-------------");System.out.print("请输入要修改薪资的员工号:");String id = input.next();boolean flag = false;int index = 0; //需要修改薪资的下标,初始化0double newSalary; //新的薪资for(int i=0;i<list.size();i++){Employee emp = list.get(i);if(emp.getId().equals(id)){flag = true;index = i;}}if(flag == true){System.out.print("请输入你要修改的薪资:");newSalary = input.nextDouble();Employee emp = list.get(index); //下标对应的empemp.setSalary(newSalary);System.out.println("修改成功!!!");} else {System.out.println("没有此员工!!!");}}//删除员工public static void delEmployee(){System.out.println("\n--------------删除员工信息-------------");System.out.print("请输入要删除员工的员工号:");String id = input.next();boolean flag = false;for(int i=0;i<list.size();i++){Employee emp = list.get(i);if(emp.getId().equals(id)){list.remove(i);flag = true;}}if(flag == true){System.out.println("删除成功!!!");} else {System.out.println("未找到此员工,删除失败!!!"); }}//薪资排序public static void MoneySort(){System.out.println("\n--------------员工薪资排序-------------");System.out.println("请选择:1.薪资从高到低     2.薪资从低到高");System.out.print("请输入:");int choice = input.nextInt();switch(choice){case 1:Desc();break;case 2:Asc();break;}}//薪资升序排列public static void Asc(){Employee temp;System.out.println("薪资从低到高排序结果是:");System.out.println("员工号   员工姓名      薪资");for(int i=0;i<list.size()-1;i++){for(int j=0;j<list.size()-1-i;j++){if(list.get(j).getSalary()>list.get(j+1).getSalary()){temp = list.get(j);list.set(j, list.get(j+1));list.set(j+1, temp);}}}for(int i =0;i<list.size();i++){System.out.println(list.get(i));}}//薪资降序排列public static void Desc(){Employee temp;System.out.println("薪资从高到低排序结果是:");System.out.println("员工号   员工姓名      薪资");for(int i=0;i<list.size()-1;i++){for(int j=0;j<list.size()-1-i;j++){if(list.get(j).getSalary()<list.get(j+1).getSalary()){temp = list.get(j);list.set(j, list.get(j+1));list.set(j+1, temp);}}}for(int i =0;i<list.size();i++){System.out.println(list.get(i));}}//统计平均工资,最高、低工资public static void other(){System.out.println("\n--------------员工平均、最高、最低工资-------------");double sum = 0;double avg;double max = list.get(0).getSalary();double min = list.get(0).getSalary();for(int i=0;i<list.size();i++){Employee emp = list.get(i);sum += emp.getSalary(); if(list.get(i).getSalary() > max){max = list.get(i).getSalary();}           if(list.get(i).getSalary()<min){min = list.get(i).getSalary();}}avg = sum/list.size();showAllEmployee();System.out.println("员工平均工资:"+avg+", 最高工资"+max+", 最低工资"+min);    }}class Employee{private String id;private String name;private double salary;public Employee() {super();}public Employee(String id, String name, double salary) {super();this.id = id;this.name = name;this.salary = salary;}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 double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}@Overridepublic String toString() {return id + "\t" + name + "\t" + salary ;}
}
![运行结果](https://img-blog.csdnimg.cn/20200108093513588.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTYwNDc5,size_16,color_FFFFFF,t_70)

ArrayList做的员工薪资管理系统相关推荐

  1. 一个简单的员工薪资管理系统(大一\二实训课)

     废话: 今天是10月19号..抽时间把代码更新了一下,不知为何突发奇想,又添加了了一个薪资状况概览的小功能. 本来想直接用Qt修代码发桌面版的,,奈何Qt才学了两天完全修不了,,只能发普通的控制台版 ...

  2. 员工薪资管理系统在netbeans中的全部代码_北京哪家人力资源管理系统比较靠谱...

    北京哪家人力资源管理系统比较靠谱 作为一个近十几年的人力资源系统开发员来讲,开发过和使用过多款优秀的人力资源管理系统,也遇到过不好用户体验度比较差的软件,导致人力资源管理越来与困难的事情,觉得十分有必 ...

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

    1.测试类 package com.hzyc.homework; import java.util.Scanner;public class Test {public static void main ...

  4. 【java毕业设计】基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码)——企业员工信息管理系统

    基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计 ...

  5. (附源码)基于java的员工信息管理系统 毕业设计201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  6. springboot基于java的员工信息管理系统毕业设计源码201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  7. springboot+mysql+基于java的员工信息管理系统 毕业设计-附源码201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  8. 美团校招年薪35万!老员工薪资倒挂,如何应对?

    职场&认知洞察 丨 作者 / findyi 这是findyi公众号分享的第88篇原创文章 十月底了,今年的秋招即将结束,各个公司的薪资也大都水落石出了. 而美团突然登上了知乎热搜. 原因是&q ...

  9. Java项目员工信息管理系统

    在Java SE中,对IO流与集合的操作在应用中比较重要.接下来,我以一个小型项目的形式,演示IO流.集合等知识点在实践中的运用. 该项目名称为"员工信息管理系统"(或" ...

最新文章

  1. Python 之 Pandas (八)图像
  2. java session丢失_跨域造成session丢失
  3. jms、amqp、mqtt区别与联系
  4. [css] 用css实现饼图效果
  5. GaussDB NoSQL架构设计分享
  6. php中的常用魔术方法总结
  7. paip.设置鼠标灵敏度API
  8. Dijkstra + 堆优化
  9. 使用wget下载GLDAS数据
  10. 厘米换算英尺英寸(C语言程序设计)
  11. 如何删除Mac电脑中的第三方字体?
  12. 用Keil工具搭建S3C2440编译环境
  13. 【转】2008'中国地理信息系统优秀工程公示
  14. 【大咖分享】BFF在千寻位置网前端的落地和演进
  15. ubuntu 软件安装到中途停止解决方法
  16. python使用opencv模块画简单的图形
  17. GitChat · 安全 | 基于机器学习的 Webshell 发现技术探索
  18. vue面试题(自用)
  19. mysql fulltext 查询,MySQL高级选择、FULLTEXT查找、执行事务、数据加密
  20. 计算机软考证书英文名称全翻译

热门文章

  1. 怎么开电子处方才可以买到处方药
  2. VUE3 excel上传导入,和下载导出
  3. Learun FrameWork,强大ASP.NET工作流管理平台
  4. 知识博主要知识变现赚钱,是先做流量或是先做课程?
  5. MTK平台发展及各芯片功能介绍2
  6. python3.x 基础五:模块
  7. html5 游戏 黑屏,《战地5》游戏黑屏无限加载怎么解决 黑屏解决办法
  8. 国家生物信息中心开发DNA甲基化芯片数据标准化方法—GMQN
  9. ubuntu14.04 输入法配置
  10. 1202 子序列个数