栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用IntelliJ IDEA写简单员工管理系统

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用IntelliJ IDEA写简单员工管理系统

JDK11

背景:在公司中,为了管理众多员工,以及员工的工资,特开发了员工工资管理系统。通过该系统完成新员工入职,离职,修改工资,查询等功能。

需求:使用员工管理系统之前,需要先登陆。登陆后,可以完成员工的添加、显示,删除、修改、查找、排序的功能。

  • 登陆

    要求用户输入用户名和密码

     

    如果用户名和密码输入错误,给予提示,并让用户重新输入。

    如果用户三次以上没有输入正确信息,提示“非法用户”,并结束程序

    1. 主界面显示

    登陆成功以后,完成主界面显示。

    根据用户的不同的选择执行不同的功能。

    1. 添加员工,当添加下一个员工信息,而数组长度不够时,要重新创建一个更长的一个数组,把较短的数组的数据,赋值给新建的数组,再把新建数组的引用赋值给以前的数组变量

    要求用户输入新员工的工号

    如果工号已存在,给予提示

    要求用户输入姓名和工资

     

    填写完毕后,完成新员工的添加。

    1. 显示员工信息

    显示所有员工的信息。

  • 删除员工

    输入要删除员工的姓名,

    如果没有找到,给予提示。

    找到以后,完成删除,并显示删除的结果

    先找到要删除的下标,下标以前的值不变,下标以后的值依次覆盖前一个值

  • 查询员工信息

    输入要查找员工的姓名,

    如果没有找到,给予提示。

    找到以后,显示该员工信息。

    1. 修改员工工资

    输入要修改工资的员工姓名,

    如果没有找到,给予提示。

    找到以后,提示输入新工资

    修改完成以后,显示修改的结果

    8、按工资排序显示工资单

    将所有员工,按工资进行排序,然后显示工资单。

    用双重循环完成排序

  • 退出

    结束员工管理系统。

    package com.project.homework.homework1_11;
    
    import javax.swing.*;
    import java.awt.*;
    
    
    public class EmployessSystem {
        //管理员
        public static String[] admiArray = {"张三", "李四"};
        //密码
        public static String[] codeArray = {"123", "456"};
    
        //员工employess
        //工号
        public static String[] numArray = {"001","002","003"};
        //姓名
        public static String[] nameArray = {"张三", "李四","李白"};
        //工资
        public static int[] moneyArray = {555,666,464};
    
        //
        public static int num = 3;
        //下标
        public static int index = -1;
    
        public static void main(String[] args) {
            if (login() == false) {
                JOptionPane.showMessageDialog(null, "非法用户");
                System.exit(0);
            }
            while (true) {
                String str = JOptionPane.showInputDialog(null, "请输入要进行的操作n1.添加员工n2.显示员工信息n3." +
                        "删除员工n4.查询员工信息n5.修改员工工资n6.按工资排序显示工资单n7.退出");
                switch (str) {
                    case "1":
                        addEmployess();
                        break;
                    case "2":
                        show();
                        break;
                    case "3":
                        deleteEmployess();
                        break;
                    case "4":
                        find();
                        break;
                    case "5":
                        setMoney();
                        break;
                    case "6":
                        sort();
                        break;
                    case "7":
                        System.exit(0);
                        break;
                    default:
                        JOptionPane.showMessageDialog(null, "请输入1-7");
                        break;
                }
            }
    
        }
    
        //登录
        public static boolean login() {
            for (int i = 0; i < 3; i++) {
                String str = JOptionPane.showInputDialog(null, "请输入用户名:");
                String str1 = JOptionPane.showInputDialog(null, "请输入密码:");
                if (checkUser(str, str1) != -1) {
                    return true;
                }
            }
            return false;
        }
    
        //验证用户名
        public static int checkUser(String str, String str1) {
            for (int i = 0; i < admiArray.length; i++) {
                if (str.equals(admiArray[i]) && str1.equals(codeArray[i])) {
                    index = i;
                    return i;
                }
            }
            return -1;
        }
    
        //添加
        public static void addEmployess() {
            String str = JOptionPane.showInputDialog(null, "请输入员工编号:");
            if (checkNum(str) == true) {
                JOptionPane.showMessageDialog(null, "编号已存在,请重新输入编号");
                addEmployess();
    //            return;
            }
            if (num == numArray.length) {
                newArray();
            }
            String str1 = JOptionPane.showInputDialog(null, "请输入姓名:");
            String str2 = JOptionPane.showInputDialog(null, "请输入工资");
            int money = Integer.parseInt(str2);
            numArray[num] = str;
            nameArray[num] = str1;
            moneyArray[num] = money;
            num++;
            String isContinue = JOptionPane.showInputDialog(null, "是否继续y/n?");
            if (isContinue.equalsIgnoreCase("y")) {//忽略大小写比较是否相等
                addEmployess();
            }
        }
    
        //验证编号是否存在
        public static boolean checkNum(String str) {
            for (int i = 0; i < num; i++) {
                if (str.equals(numArray[i])) {
                    return true;
                }
            }
            return false;
        }
    
        //超过创建一个更长的数组接受
        public static void newArray() {
            String[] newNum = new String[num + 10];
            String[] newName = new String[num + 10];
            int[] newMoney = new int[num + 10];
            for (int i = 0; i < num; i++) {
                newNum[i] = numArray[i];
                newName[i] = nameArray[i];
                newMoney[i] = moneyArray[i];
            }
            //重新赋值
            numArray = newNum;
            nameArray = newName;
            moneyArray = newMoney;
        }
    
    
        //显示员工信息
        public static void show() {
            String s = "工号  姓名  工资n";
            for (int i = 0; i < num; i++) {
                s += numArray[i] + " " + nameArray[i] + " " + moneyArray[i] + "n";
            }
            JOptionPane.showMessageDialog(null, s);
        }
    
        //验证名字
        public static int checkFind(String name) {
            for (int i = 0; i < num; i++) {
                if (name.equals(nameArray[i])) {
                    return i;
                }
            }
            JOptionPane.showMessageDialog(null, "查无此人");
            return -1;
        }
    
        //删除员工
        public static void deleteEmployess() {
            String name = JOptionPane.showInputDialog(null, "请输入要删除的员工姓名:");
            if (checkFind(name) != -1) {
                int g = checkFind(name);
                for (int i = g; i < num - 1; i++) {
                    numArray[i] = numArray[i + 1];
                    nameArray[i] = nameArray[i + 1];
                    moneyArray[i] = moneyArray[i + 1];
                }
                JOptionPane.showMessageDialog(null, "删除成功");
                num--;
                show();
                String isContinue = JOptionPane.showInputDialog(null, "是否继续y/n?");
                if (isContinue.equalsIgnoreCase("y")) {//忽略大小写比较是否相等
                    deleteEmployess();
                }
            }
        }
    
    
        //查询员工信息
        public static void find() {
            String name = JOptionPane.showInputDialog(null, "请输入要删除的员工姓名:");
            if (checkFind(name) != -1) {
                String s = "编号  姓名  工资n";
                s += numArray[checkFind(name)] + " " + nameArray[checkFind(name)] + " " + moneyArray[checkFind(name)];
                JOptionPane.showMessageDialog(null, s);
                String isContinue = JOptionPane.showInputDialog(null, "是否继续y/n?");
                if (isContinue.equalsIgnoreCase("y")) {//忽略大小写比较是否相等
                    find();
                }
    
            }
    
    
        }
    
    
        //修改员工信息
        public static void setMoney() {
            String name = JOptionPane.showInputDialog(null, "请输入要删除的员工姓名:");
            if (checkFind(name) != -1) {
                String str = JOptionPane.showInputDialog(null, "请输入新工资:");
                int money = Integer.parseInt(str);
                moneyArray[checkFind(name)] = money;
                JOptionPane.showMessageDialog(null, "修改成功");
                show();
                String isContinue = JOptionPane.showInputDialog(null, "是否继续y/n?");
                if (isContinue.equalsIgnoreCase("y")) {//忽略大小写比较是否相等
                    setMoney();
                }
            }
    
    
        }
    
        //按工资排序显示工资
        public static void sort() {
            for (int i = 0; i < num - 1; i++) {
                sortDaxiao(i);
            }
            show();
        }
    
        public static void sortDaxiao(int i) {
            for (int j = i + 1; j < num; j++) {
                if (moneyArray[j] > moneyArray[i]) {
                    //编号
                    String y = numArray[i];
                    numArray[i] = numArray[j];
                    numArray[j] = y;
                    //名字
                    String a = nameArray[i];
                    nameArray[i] = nameArray[j];
                    nameArray[j] = a;
                    //钱
                    int x = moneyArray[i];
                    moneyArray[i] = moneyArray[j];
                    moneyArray[j] = x;
    
                }
            }
        }
    
    }
    

  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/732558.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号