员工工资管理系统(JAVA完整课设和详细思路)

这篇具有很好参考价值的文章主要介绍了员工工资管理系统(JAVA完整课设和详细思路)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这是一篇基于JAVA的员工工资管理系统的课程设计,编译环境是eclipse。

下面进入正文:

一. 课设题目

      题目:设计员工工资管理系统
      实现功能:   1.输入 5 名员工姓名、工号、月工资;
                           2.统计每人的年收入及收入最高和最低的员工,计算他们的平均工资;
                           3.按月工资降序排序;
                           4.统计高于平均工资和低于平均工资的员工;
                           5.输入工号名称查询员工的姓名和月工资。

二.实验思路

           大致思路是首先用 3 个一维数组分别存储 5 名员工的 姓名、工号、月工资,设
           计实现员工信息录入功能,再分多个模块分别在方法里实现各个功能:
                1.统计年收入及所有员工平均收入,即计算平均值;
                2.统计收入最高和最低的员工,即计算最值;
                3.按月工资高低降序排序,首先复制一个月工资数组,再用冒泡排序;
                4.统计高于平均工资和低于平均工资的员工;
                5.输入工号查询姓名和月工资,即得设计员工工号输入功能,并显示月工资功能。
                   然后再对登录界面进行比较美观的设计;
                   最后通过指令对这些方法进行调用,从而实现全部功能。

三.源代码

public class employee {

	public static void main(String[] args) {
		String[] name = new String[5];//定义一个name员工姓名的数组
		String[] jobNumber = new String[5];//定义一个jobNumber员工工号的数组
		double[] wage = new double[5];//定义一个wage员工月工资的数组
		
		for(int i=0;i<5;i++) {
			@SuppressWarnings("resource")
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入第"+(i+1)+"个员工的姓名:");
			name[i] = sc.nextLine();
			System.out.println("请输入第"+(i+1)+"个员工的工号:");
			jobNumber[i] = sc.nextLine();
			System.out.println("请输入第"+(i+1)+"个员工的工资:");
			wage[i] = sc.nextDouble(); 
			
		}
		System.out.println("信息录入成功!");
		System.out.println("*****************************************************");
		System.out.println("*****************************************************");
		System.out.println("               欢迎使用员工工资管理系统");
		System.out.println("-----------------------------------------------------");
		System.out.println("    【1】--------显示所有员工的年收入及他们的平均工资");
		System.out.println("    【2】-----------显示收入最高和最低的员工");
		System.out.println("    【3】-----------显示按月工资高低降序排序");
		System.out.println("    【4】------显示统计高于平均工资和低于平均工资的员工");
		System.out.println("    【5】-------------查询员工的姓名和月工资");
		System.out.println("    【-1】-----------------退出系统!!!");
		System.out.println("*****************************************************");
		System.out.println("*****************************************************");
		System.out.println("请输入编号查询:");
			
			while(true){
			@SuppressWarnings("resource")
			Scanner sc = new Scanner(System.in);
			  int input = sc.nextInt();
			  if(1 == input) {
				  statistics(name,jobNumber,wage);
			  }
			  else if(2 == input) {
				  inquire(wage,name);
			  }
			  else if(3 == input) {
			 	 rank(wage);
			  }
			  else if(4 == input) {
            	  statistics(name,wage);
              } 
			  else if(5 == input) {
            	 inquire(name,jobNumber,wage);
              }
			  else if(-1 == input) {
            	 System.out.println("已成功退出系统!!!"); 
            	 break; 
              }
			  else{
            	  System.out.println("编号输入有误,请重新输入!!!");
              }
		    }   	    
	}

	
	
	//1.统计年收入及所有员工平均工资
	public static void statistics(String name[],String jobNumber[],double wage[]) {
		
		for(int i=0;i<5;i++) {
			  
            System.out.println("员工工号: "+jobNumber[i]+"  员工姓名: "+name[i]+"  月工资: "+wage[i]+"  年收入: " + wage[i]*12);			
		}
		double all = 0;
		for(int i=0;i<5;i++) {
			
			all = all + wage[i]*12;
			
		}
		System.out.println("他们的平均工资: "+(all/5/12));
	    System.out.println("\n请输入编号继续查询:");
	}
	
	
	
	
	//2.统计收入最高和最低的员工
	public static void inquire(double wage[],String name[]) {
		double big = wage[0];//假设wage[0]为最高
		String bigName = name[0];
		for(int i=1;i<5;i++) {
			if(wage[i]>big) {
				
				big = wage[i];
				bigName = name[i];
			}
		}
		System.out.println("收入最高的员工为: "+bigName+"   其工资为: "+big);
		
		double small = wage[0];//假设wage[0]为最低
		String smallName = name[0];
		for(int i=1;i<5;i++) {
			if(wage[i]<small) {
				
				small = wage[i];
				smallName = name[i];
			}
		}
		System.out.println("-----------------------------------");
		System.out.println("收入最低的员工为: "+smallName+"   其工资为: "+small);
		System.out.println("\n请输入编号继续查询:");
	}
	
	
	
	
	  //3.按月工资高低降序排序
	public static void rank(double wage[]) {
		double[]b = Arrays.copyOf(wage, 5);
	    Arrays.sort(b);
		System.out.println("按月工资高低降序排序为: ");
		for(int i=4;i>=0;i--) {
		   System.out.println(b[i]);
		}
		System.out.println("\n请输入编号继续查询:");
	}
	
	
	
	//4.统计高于平均工资和低于平均工资的员工
	public static void statistics(String name[],double wage[]) {
		double sum = 0;
		for(int i=0;i<5;i++) {
			
			sum = sum + wage[i];
			
		}
		double average = sum/5;
		
		for(int i=0;i<5;i++) {
			if(wage[i]>average) {
				System.out.println("高于平均工资的员工有: " +name[i]+"  他的工资为: "+wage[i]);
			}		
		}
		System.out.println("---------------------------------------");
		for(int i=0;i<5;i++) {
			if(wage[i]<average) {
				System.out.println("低于平均工资的员工有: "+name[i]+"  他的工资为: "+wage[i]);
			}		
		}
		System.out.println("\n请输入编号继续查询:");
	}
	
	
	
	
	//5.输入工号查询姓名和月工资
	
	public static void inquire(String name[],String jobNumber[],double wage[]) {
		int j = 0;
		System.out.print("请输入工号进行查询: ");
		@SuppressWarnings("resource")
		Scanner scan = new Scanner(System.in);
		String s = scan.nextLine();
		for(int i=0;i<5;i++) {
			if(s.equals(jobNumber[i])) {
			  System.out.println("员工: "+name[i]+"   月工资: "+wage[i]);
			  System.out.print("\n再次查询请输入【5】,");
			  j++;
		    }
		}
		if(0 == j) {
			System.out.println("无此员工工号!!!");
		}
	    System.out.println("请输入编号继续查询:");
	}
}

四.运行结果

薪资管理java,java,eclipse
薪资管理java,java,eclipse
薪资管理java,java,eclipse

薪资管理java,java,eclipse 文章来源地址https://www.toymoban.com/news/detail-771403.html

五.心得体会

本次课设我的题目是设计员工工资管理系统,对于我本人来说还是有些难度,编写过程
中也遇到了很多问题,尤其是在输出按月工资降序排序之后,总是会干扰其他功能的输出,
导致其他输出数据错误。通过询问老师与同学以及在哔哩哔哩上观看视频讲解,翻阅课本,
最终才解决了这些问题。通过本次课程设计,锻炼了自己的耐心,确实有些问题很难修改,
但有的问题解决之后,便会铭记于心,使得下次再遇到此类的问题时,就变得迎刃而解,很
有成就感,多一份错误,就会多一份收获和经验,我相信在这样不断的磨炼中,我的代码水
平将会更上一层楼。

到了这里,关于员工工资管理系统(JAVA完整课设和详细思路)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无敌!我用【C语言】手搓出了一个体系完整的【员工管理系统】还能玩游戏听音乐?(超详细,附完整源码)

    博主简介: Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。 博主主页: @陈童学哦 所属专栏: C语言程序设计实验项目 如果本文对你有所帮助的话,还希望可以点赞👍收藏📂支持一下哦! 前言:员工管理系统是一款面向公司管理员的管理工具,旨在提供员工

    2024年02月08日
    浏览(51)
  • Java课设-学生成绩管理系统

    题目要求 : 代码: Student.java : StudentApplication.java : StudentManage.java : 运行主界面 :

    2024年02月11日
    浏览(54)
  • 【C语言课设计划】个人通讯录管理系统(C语言大作业 链表 结构体 运行截图 完整代码)

    hello 大家好呀 这里是布丁学姐~ 今天给大家带来的是《C语言课设计划》的第一篇,个人通讯录管理系统 通讯录是当前社会每个人不可缺少的信息系统,利用C语言和Dve c++制作个人通讯录管理系统,从根本上改变纸质通讯录难以长久保存、容易丢失的弊端,从而提高信息管理和

    2024年02月02日
    浏览(105)
  • Java员工信息管理系统(注释全)

     

    2024年02月12日
    浏览(45)
  • 《酒店管理系统》Java课设(供参考)

    酒店管理系统是伴随着计算机的普及和IT产业的兴起而出现的产物,该系统的产生为酒店的经营管理带来了很大的便捷——为此而得到了大范围的推广和使用;本系统是根据当前市场需求而设计;能够实现酒店前台与酒店各项管理制度的一体关联与带动性;能实现酒店管理的

    2024年02月11日
    浏览(46)
  • python+java+nodejs基于vue的企业人事工资管理系统

    根据系统功能需求分析,对系统功能的进行设计和分解。功能分解的过程就是一个由抽象到具体的过程。 作为人事数据库系统,其主要实现的功能应包括以下几个模块: 1.登录模块 登录模块是由管理员、员工2种不同身份进行登录。 2.系统管理模块 用户管理:新用户的添加和

    2024年02月03日
    浏览(57)
  • Java实现的企业员工考勤管理系统

    目录 一、引言 2 编写目的 2 项目背景 2 二、总体设计 3 2.1运行要求 3 2.2接口设计 3 2.3构架设计 3 2.4基本设计概念和处理流程 3 2.5结构 5 2.6功能需求与各模块之间关系 6 2.6.1基本信息管理模块 6 2.6.2个人出勤管理模块 10 2.6.3出勤管理模块 14 三、数据的逻辑描述 17 3.1 静态数据

    2024年02月09日
    浏览(48)
  • 基于java的员工绩效考核管理系统

    本员工绩效考核系统采用java语言开发,为企业员工的绩效考核的运行做基础,主要包括登陆模块,管理员管理,员工管理,薪酬管理,员工可以进行薪酬查询.系统开发环境是Myeclipse,数据库是mysql,基于web访问,简单方面.文档有配套论文等.适用范围\\\"毕业设计,课程设计等\\\" (一)登录模

    2023年04月15日
    浏览(48)
  • Java课设--学生信息管理系统(例1)

    前提 一、运行效果 二、Text实现类 三、Manage选择类 四、StudentWay学生方法类 五、StudnetSql数据库类 例1为无使用GUI图形界面,例2使用GUI图形界面! 首先自己的JDBC驱动已经接好了,连接自己的数据库没有问题。连接数据库可以看其他博主教程,不是很难。 其次我用的是idea+SQ

    2024年02月14日
    浏览(49)
  • 通用工资管理系统--SQL server课程设计(Java实现+SQL server)

    本科参与项目文档合集: 点击跳转~ General payroll management system 设计题目:通用工资管理系统 专 业:计算机科学与技术 班 级: 19级1班 设 计 人: 安** 指导老师: 刘** 日 期:2021年06月30日 1.1开发环境 数据库系统:Microsoft SQL Server 2019 开发语言:JAVA 数据库连接方式:JDBC连接方

    2024年02月03日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包