标签: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]);
}
}
}
}
三、运行结果
来源:https://blog.csdn.net/weixin_44057997/article/details/112894670


猜你喜欢
- 场景系统实现中经常需要能够感知配置文件的变化,然后及时更新上下文。实现方案自己起一个单独线程,定时加载文件,实现较简单,但是无法保证能够实时
- 记事本涉及到的仅仅是对string 的存储,而且在读取上并不存在什么难点,直接用textview显示便可以了。需要做的主要是使用SQLite
- package com.eboy.testyaoyiyao; import java.text.SimpleDateFormat; impo
- 为了提升编译速度,这几天用上了 AS 3.0 和 Gradle 3.0 插件,不得不说不论是 AS 3.0,还是 Gradle 3.0 都变
- 前言JAVA缓存实现方案有很多,最基本的自己使用Map去构建缓存,或者使用memcached或Redis,但是上述两种缓存框架都要搭建服务器
- 碰到一个项目,需要对指定的网页进行截图保存,晕死! 需求永远都是怪异的..... 解决是关键~ 遂写了以下代码,快准狠!(因为赶时间!) 可
- 1.类的属性 filed1)在kotlin中定义属性,必须赋初始值,要不编译器检查不通过。这个和java不同2)kotlin会针对于定义的每
- 前言我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的。命令版本:10分钟学会Visual S
- 之前在使用SpringBoot进行文件上传时,遇到了很多问题。于是在翻阅了很多的博文之后,总算将上传功能进行了相应的完善,便在这里记录下来,
- Java类之间的关系图在Java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们
- Java 从Set里面取出有序的记录详解及实例Set里面的记录是无序的,如果想使用Set,然后又想里面的记录是有序的,就可以使用TreeSe
- 前言有时候我们想克隆一个List去做别的事,而不影响原来的List,我们直接在list后面加上小点点,发现并没有Clone这样的扩展函数。这
- SpringBoot使用过滤器、 * 和 * 一、SpringBoot使用过滤器Spring boot过滤器的使用(两种方式)使用sprin
- 本文实例讲述了Java实现的RSA加密解密算法。分享给大家供大家参考,具体如下:import java.awt.AlphaComposite
- 平时,我们将c#中的Distinct大多用于对数组去重,一般数组为基础的数据类型,例如 int,string.也可以用于对象去重,我们看看C
- 简介springmvc对json的前后台传输做了很好封装,避免了重复编码的过程,下面来看看常用的@ResponseBody和@Request
- HashMap类1、HashMap类概述HashMap是 Map 接口使用频率最高的实现类,允许使用null键和null值,与HashSet
- 关于unicode和utf的关系,可以简单的记忆:Unicode是一个编码组织、一个编码规范、在java中指utf-16;utf是Unico
- 在Android开发中,通过以下三种方法定时执行任务:一、采用Handler与线程的sleep(long)方法(不建议使用,java的实现方
- 本文为大家分享了C#实现图书管理系统课程设计,供大家参考,具体内容如下一、设计目的通过模拟图书管理系统,实现以下功能学生账号的注册学生对馆藏