员工工资管理系统
- 设计要求
- 实现代码
- 运行结果
设计要求
设计员工工资管理系统,实现以下功能:
(1)输入5名员工姓名、工号、月工资;
(2)统计每人的年收入及收入最高和最低的员工,计算他们的平均工资;
(3)按月工资高低降序排序;
(4)统计高于平均工资和低于平均工资的员工;
(5)输入工号名称查询员工的姓名和月工资。
实现代码
package work.chengxu;
import java.util.Scanner;
public class salary{
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));
}
System.out.println("欢迎使用员工工资管理系统!!!");
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)
{
Statistics(Name,a); //统计收入最高和最低
}
else if(input==2)
{
count(a); //计算平均工资
}
else if(input==3)
{
total(Name,a); //统计高于平均
}
else if(input==4)
{
query(Name,Number,a); //查询姓名和工资
}
else if(input==5)
{
sort(a); //工资由高到低降序排序
}
else if(input>5||input<1)
{
break ;
}
}
System.out.println("成功退出系统!!!");
}
//统计收入最高和最低的员工
public static void Statistics(String x[],int z[]){
int big=z[0],b=0; //规定第一个人的工资最高
for(int i=1;i<5;i++){
if(z[i]>big)
{ //如果后面的人的工资高于第一个人
big=z[i];
b=i;
}//则此人为工资最高的人
}
System.out.println("收入最高的员工为:"+x[b]+"收入最高工资为:"+big);
int small=z[0],c=0;
for( int i=1;i<5;i++){
if(z[i]<small){
small=z[i];
c=i;
}
}
System.out.println("收入最低的员工为:"+x[c]+"收入最低工资为:"+small);
}
//计算他们的平均工资
public static void count(int z[]){
int sum=0;
for(int i=0;i<5;i++){
sum+=z[i];
}
int average=sum/5;
System.out.println("他们的平均工资为:"+average);
}
//统计高于平均工资和低于平均工资的员工
public static void total(String x[],int z[]){
int sum=0;
for(int i=0;i<5;i++){
sum+=z[i];
}
int average=sum/5; //计算平均工资
System.out.println("平均工资为:"+average);
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 query(String x[],int y[],int z[]){
System.out.print("请输入所查询的工号:");
Scanner s=new Scanner(System.in); //从键盘接收所要查询的工号
int xx=s.nextInt(); //存到xx中
for(int i=0;i<5;i++){
if(y[i]==xx) {//如果相等,输出信息
System.out.println("工号:"+y[i]+"\t姓名:"+x[i]+"\t工资:"+z[i]);
}
}
}
//按月工资高低降序排序
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]+" ");}
}
}
运行结果
后面大家就可以自行输入对应功能前的序号,实现此系统的功能