java实现员工工资管理系统

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

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

一、题目要求

设计员工工资管理系统,实现以下功能:

(1)输入5名员工姓名、工号、月工资;
(2)统计每人的年收入及收入最高和最低的员工,计算他们的平均工资;
(3)按月工资高低降序排序;
(4)统计高于平均工资和低于平均工资的员工;
(5)输入工号名称查询员工的姓名和月工资。

二、源代码

import java.util.Scanner;
import java.io.BufferedReader;
public class MyStaff{
  public static void main(String []args){
      String Name[]=new String[5];
      int Number[]=new int[5];
      int a[]=new int[5];
      for(int i=0;i<5;i++){
          Scanner sc=new Scanner(System.in);      //接收键盘输入的员工信息
          System.out.println("请输入员工"+(i+1)+"的姓名");   
          Name[i]=sc.next();                //把接收到的姓名存到数组中
          System.out.println("请输入员工"+(i+1)+"的工号");
          Number[i]=sc.nextInt();
          System.out.println("请输入员工"+(i+1)+"的工资");
          a[i]=sc.nextInt();
      }
      for(int i=0;i<5;i++){                     //循环输出五个人的信息
          System.out.println("员工的信息:姓名:"+Name[i]+"\t工号:"+Number[i]+"\t月工资:"+a[i]+"\t年工资:"+(a[i]*12));
   }
          first:{                               //标号为一的代码块
              System.out.println("欢迎使用员工工资管理系统!!!");
         second:{                            //标号为二的代码块
              While(true){
                   System.out.println("[1]##########按月工资高低降序排序#################");
                   System.out.println("[2]##########统计收入最高和最低的员工#############");
                   System.out.println("[3]##########计算他们的平均工资
###################");
                   System.out.println("[4]##########统计高于平均工资和低于平均工资的员工#");
                   System.out.println("[5]#########输入工号查询员工的姓名和月工资########");
                   Scanner t=new Scanner(System.in);
                   int input=t.nextInt();
                   if(input==1)
                     {
                      sort(a);                     //调用sort方法
                   }
                   else if(input==2)
                   {
                      Statistics(a);
                   }
                   else if(input==3)
                   {
                       count(a);
                   }
                  else if(input==4)
                   {
                      tongji(Name,a);
                   }
                  else if(input==5)
                   {
                      chaxun(Name,Number,a);
                   }   
                  else if(input>5)          //如果输入的数大于5
                   {
                  break second;             //退出二代码块
                   }
       }
     }
      System.out.println("成功退出系统!!!");
     }
   }
//按月工资高低降序排序
public static void sort(int z[]){
  for(int i=0;i<5-1;i++)              //控制比较几次
      for(int j=0;j<5-1-i;j++)        //控制逐一比较
        if(z[j]<z[j+1]){              // 如果前面的小于后面的互换位置
         int p;
         p=z[j];
         z[j]=z[j+1];
         z[j+1]=p;
        }
  System.out.println("按月工资高低降序排序为:");
for(int i=0;i<5;i++){
  System.out.println(z[i]+" ");}
}
//统计收入最高和最低的员工
public static void Statistics(int z[]){
    int big=z[0];                    //规定第一个人的工资最高
    for(int i=1;i<5;i++){
    if(z[i]>big) {                   //如果后面的人的工资高于第一个人
       big=z[i]; }                   //则此人为工资最高的人
    }
    System.out.println("收入最高的员工为:"+x[i]+"\t他的工资为:"+big);
    int small=z[0];
    for(int i=1;i<5;i++){
    if(z[i]<small){
       small=z[i];}
     }
    System.out.println("收入最低的员工为:"+x[i]+"\t他的工资为:"+small); 
}
//计算他们的平均工资
public static void count(int z[]){
     int sum=0;
     for(int i=0;i<5;i++){
       sum+=z[i]; 
     }
   int average=(sum/5)*12;
   System.out.println("他们的年平均工资为:"+average);
}
//统计高于平均工资和低于平均工资的员工
public static void tongji(String x[],int z[]){
   int sum=0;
     for(int i=0;i<5;i++){
       sum+=z[i]; 
     }
  int average=sum/5;   //计算平均工资
  for(int i=0;i<5;i++){
     if(z[i]>average)
       System.out.println("高于平均工资的员工为:"+x[i]+"\t他们的工资为:"+z[i]);
     if(z[i]<average)
       System.out.println("低于平均工资的员工为:"+x[i]+"\t他们的工资为:"+z[i]);
  }
}
//输入工号查询员工的姓名和月工资
public static void chaxun(String x[],int y[],int z[]){
System.out.print("请输入所查询的工号:");
   Scanner s=new Scanner(System.in);      //从键盘接收所要查询的工号
   int xxxh=s.nextInt();                  //存到xxxh中
   for(int i=0;i<5;i++){
     if(y[i]==xxxh) {                    //如果相等,输出信息
     System.out.println("学号:"+y[i]+"\t姓名:"+x[i]+"\t工资:"+z[i]);
     }
}
}
}

三、运行结果

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

相关文章

  • JavaWeb之Servlet注册页面的实现示例

    JavaWeb之Servlet注册页面的实现示例

    注册页面是很多网站都会是使用的到,本文主要介绍了JavaWeb之Servlet注册页面的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • SpringBoot结合Redis实现序列化的方法详解

    SpringBoot结合Redis实现序列化的方法详解

    Spring提供了一个RedisTemplate来进行对Redis的操作,但是RedisTemplate默认配置的是使用Java本机序列化。如果要对对象操作,就不是那么的方便。所以本文为大家介绍了另一种SpringBoot结合Redis实现序列化的方法,需要的可以参考一下
    2022-06-06
  • JVM完全解读之Metaspace解密源码分析

    JVM完全解读之Metaspace解密源码分析

    通过这篇文章,你将可以了解到,为什么会有metaspace?metaspace的组成,metaspace的VM参数,jstat里我们应该关注metaspace的哪些值,有需要的朋友可以借鉴参考下
    2022-01-01
  • 详解如何将已有项目改造为Spring Boot项目

    详解如何将已有项目改造为Spring Boot项目

    本篇文章主要介绍了如何将已有项目改造为Spring Boot项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 基于logback 实现springboot超级详细的日志配置

    基于logback 实现springboot超级详细的日志配置

    java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用)。这篇文章主要介绍了基于logback springboot超级详细的日志配置,需要的朋友可以参考下
    2019-06-06
  • Spring中的FactoryBean与BeanFactory详细解析

    Spring中的FactoryBean与BeanFactory详细解析

    这篇文章主要介绍了Spring中的FactoryBean与BeanFactory详细解析,在Spring框架中,FactoryBean和BeanFactory是两个关键的接口,用于创建和管理对象实例,它们在Spring的IoC(Inversion of Control,控制反转)容器中发挥着重要的作用,需要的朋友可以参考下
    2023-11-11
  • java创建二维码并赋予url链接的功能实现

    java创建二维码并赋予url链接的功能实现

    这篇文章给大家分享java创建二维码并赋予url链接的功能实现,需要获取要赋值给二维码的链接后缀,通过设置二维码的访问路径等一系列操作,具体实现代码跟随小编一起看看吧
    2021-06-06
  • Spring Boot整合Kafka+SSE实现实时数据展示

    Spring Boot整合Kafka+SSE实现实时数据展示

    本文主要介绍了Spring Boot整合Kafka+SSE实现实时数据展示
    2024-06-06
  • 自己动手实现mybatis动态sql的方法

    自己动手实现mybatis动态sql的方法

    下面小编就为大家分享一篇自己动手实现mybatis动态sql的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Java项目打包发布到maven私仓常见的几种方式

    Java项目打包发布到maven私仓常见的几种方式

    这篇文章主要介绍了项目打包发布到maven私仓常见的几种方式,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03

最新评论