这是一篇基于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;ibig) {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]=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;iaverage) {System.out.println("高于平均工资的员工有: " +name[i]+"他的工资为: "+wage[i]);}}System.out.println("---------------------------------------");for(int i=0;i<5;i++) {if(wage[i]
四.运行结果
五.心得体会
本次课设我的题目是设计员工工资管理系统,对于我本人来说还是有些难度,编写过程 中也遇到了很多问题,尤其是在输出按月工资降序排序之后,总是会干扰其他功能的输出, 导致其他输出数据错误。通过询问老师与同学以及在哔哩哔哩上观看视频讲解,翻阅课本, 最终才解决了这些问题。通过本次课程设计,锻炼了自己的耐心,确实有些问题很难修改, 但有的问题解决之后,便会铭记于心,使得下次再遇到此类的问题时,就变得迎刃而解,很 有成就感,多一份错误,就会多一份收获和经验,我相信在这样不断的磨炼中,我的代码水 平将会更上一层楼。