ArrayList做的员工薪资管理系统
/**
* 公司职员薪水管理系统,有以下功能
* 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做的员工薪资管理系统相关推荐
- 一个简单的员工薪资管理系统(大一\二实训课)
废话: 今天是10月19号..抽时间把代码更新了一下,不知为何突发奇想,又添加了了一个薪资状况概览的小功能. 本来想直接用Qt修代码发桌面版的,,奈何Qt才学了两天完全修不了,,只能发普通的控制台版 ...
- 员工薪资管理系统在netbeans中的全部代码_北京哪家人力资源管理系统比较靠谱...
北京哪家人力资源管理系统比较靠谱 作为一个近十几年的人力资源系统开发员来讲,开发过和使用过多款优秀的人力资源管理系统,也遇到过不好用户体验度比较差的软件,导致人力资源管理越来与困难的事情,觉得十分有必 ...
- (面向对象)员工信息管理系统 1.当有新员工的时候将员工加入到管理系统 2.可以根据工号实现对该员工信息查询 3.可以现实查看所有员工信息 4.可以修改员工的薪水
1.测试类 package com.hzyc.homework; import java.util.Scanner;public class Test {public static void main ...
- 【java毕业设计】基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码)——企业员工信息管理系统
基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计 ...
- (附源码)基于java的员工信息管理系统 毕业设计201524
Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...
- springboot基于java的员工信息管理系统毕业设计源码201524
Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...
- springboot+mysql+基于java的员工信息管理系统 毕业设计-附源码201524
Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...
- 美团校招年薪35万!老员工薪资倒挂,如何应对?
职场&认知洞察 丨 作者 / findyi 这是findyi公众号分享的第88篇原创文章 十月底了,今年的秋招即将结束,各个公司的薪资也大都水落石出了. 而美团突然登上了知乎热搜. 原因是&q ...
- Java项目员工信息管理系统
在Java SE中,对IO流与集合的操作在应用中比较重要.接下来,我以一个小型项目的形式,演示IO流.集合等知识点在实践中的运用. 该项目名称为"员工信息管理系统"(或" ...
最新文章
- Python 之 Pandas (八)图像
- java session丢失_跨域造成session丢失
- jms、amqp、mqtt区别与联系
- [css] 用css实现饼图效果
- GaussDB NoSQL架构设计分享
- php中的常用魔术方法总结
- paip.设置鼠标灵敏度API
- Dijkstra + 堆优化
- 使用wget下载GLDAS数据
- 厘米换算英尺英寸(C语言程序设计)
- 如何删除Mac电脑中的第三方字体?
- 用Keil工具搭建S3C2440编译环境
- 【转】2008'中国地理信息系统优秀工程公示
- 【大咖分享】BFF在千寻位置网前端的落地和演进
- ubuntu 软件安装到中途停止解决方法
- python使用opencv模块画简单的图形
- GitChat · 安全 | 基于机器学习的 Webshell 发现技术探索
- vue面试题(自用)
- mysql fulltext 查询,MySQL高级选择、FULLTEXT查找、执行事务、数据加密
- 计算机软考证书英文名称全翻译