员工工资管理系统

发布于:2023-07-04 ⋅ 阅读:(78) ⋅ 点赞:(0)

一、题目要求

设计员工工资管理系统,实现以下功能:
(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("收入最高的员工为:"+z[i]+"\t他的工资为:"+big);
    }
    int small=z[0];
    for(int i=1;i<5;i++){
    if(z[i]<small){
       small=z[i];}
     }
    System.out.println("收入最低的员工为:"+z[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]);
     }
}
}
}

三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到