Java实现简单员工管理系统
作者:大菜彩 发布时间:2021-12-13 17:51:26
标签: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;
}
}
运行示例:
来源:https://blog.csdn.net/qq_53786696/article/details/117325170
0
投稿
猜你喜欢
- jpa EntityManager复杂查询概念EntityManager:EntityManager是JPA中用于增删改查的接口,它的作用相
- 一、准备官网下载IntelliJ IDEA 2017 并安装好下载汉化包 (链接: https://pan.baidu.com/s/1JkU
- 原理 Redis Cluster 一般由多个节点组成,节点数量至少为 6 个才能保证组成完整高可用的集群,其中三个为主
- Java float和double精度范围大小要想理解float和double的取值范围和计算精度,必须先了解小数是如何在计算机中存储的:举
- 接收JSON浏览器传来的参数,可以是 key/value 形式的,也可以是一个 JSON 字符串。在 Jsp/Servlet 中,我们接收
- 本文实例讲述了Android编程开发之TextView单击链接弹出Activity的方法。分享给大家供大家参考,具体如下:话不多说直接上码:
- 本文实例讲述了spring mvc 实现获取后端传递的值。分享给大家供大家参考,具体如下:jsp页面怎么获取从后端传递过来的值?JSTL 方
- 问题:在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码。原因其实很简单,就是系统的编码和程序的编码采用了不
- 本文实例讲述了Java日期操作方法工具类。分享给大家供大家参考,具体如下:package com.gcloud.common;import
- Strut2判断是否是AJAX调用1. AJAX与传统Form表单实际上,两者一般都是通过HTTP的POST请求。区
- package com.jjinfo.common.util; import java.util.Arrays; import java.u
- 抽象方法与虚方法的区别先说两者最大的区别:抽象方法是需要子类去实现的。虚方法是已经实现了的,可以被子类覆盖,也可以不覆盖,取决于需求。因为抽
- 1.接口中的默认方法和静态方法Java 8中允许接口中包含具有具体实现的方法,该方法称为 “默认方法” ,默认方法使用 default 关键
- 1 配置多数据源时,application.yml 的有关mybatis的配置是失效的,因为他不知道配置哪一个数据源2 applicatio
- 数组的长度是固定的,无法适应数据变化的需求。为了解决这个问题,Java提供了另一个容器 java.util.ArrayList集合类,让我们
- 一、是什么当下很多公司都采取前后端分离的开发模式,前端和后端的工作由不同的工程师完成。在这种开发模式下,维持一份及时更新且完整的 Rest
- 简要:EigenFace是基于PCA降维的人脸识别算法,PCA是使整体数据降维后的方差最大,没有考虑降维后类间的变化。 它是将图像
- AOP事务管理<aop:advisor>两种配置方式方式一@transactionManagerbean.xml<?xml
- JPanel是面板组件,非顶层容器,一个界面只有可以有一个JFrame窗体组件,但可以有多个Jpanel面板,而JPanel上也可以使用Fl
- 持久层的那些事什么是 JDBCJDBC(JavaDataBase Connectivity)就是 Java 数据库连接, 说的直白点就是 使