简易的员工管理系统

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

初始数据

/***
     * 工号数组
     */
    public static String[] numArray = {"001", "003", "004", "007", "010"};
    /***
     * 员工数组
     */
    public static String[] nameArray = {"马超", "关羽", "韩信", "李白", "赵云"};
    /***
     * 工资数组
     */
    public static int[] wageArray = {12500, 8888, 10000, 7850, 9500};
    /***
     * 员工个数
     */
    public static int count = 5;```
    
**登录**

```java
public static boolean login() {
        for (int i = 0; i < 3; i++) {
            String user = JOptionPane.showInputDialog(null, "请输入用户名");
            String pwd = JOptionPane.showInputDialog(null, "请输入密码:");
            if ("admin".equals(user) && "123456".equals(pwd)) {
                JOptionPane.showMessageDialog(null, "登录成功");
                return true;
            }
            JOptionPane.showMessageDialog(null, "用户名或密码错误!");
        }
        return false;
    }```
**添加员工**

```java
 public static void addStaff() {
        if (count == numArray.length) {
            addArray();
        }
        String numInput = JOptionPane.showInputDialog(null, "请输入工号:");
        if (checkNum(numInput) == true) {
            JOptionPane.showMessageDialog(null, "工号已存在!");
            return;
        }
        String nameInput = JOptionPane.showInputDialog(null, "请输入姓名:");
        String wageInput = JOptionPane.showInputDialog(null, "请输入工资:");


        numArray[count] = numInput;
        nameArray[count] = nameInput;
        wageArray[count] = Integer.parseInt(wageInput);
        count++;
        //递归
        String isContinue = JOptionPane.showInputDialog(null, "是否继续(y/n)");
        //忽略大小写是否相等
        if ("y".equalsIgnoreCase(isContinue)) {
            addStaff();
        } else if ("n".equalsIgnoreCase(isContinue)) {
            return;
        }
    }

显示员工信息

  public static void showInfo() {
        String info = "工号           " + "姓名             " + "工资\n";
        for (int i = 0; i < count; i++) {
            info += numArray[i] + "             " + nameArray[i] + "             " + wageArray[i] + "\n";
        }
        JOptionPane.showMessageDialog(null, info);
    }

删除员工

 public static void delStaff() {
        int index = checkIsNo();
        if (index != -1) {
            //用后一个替换前一个元素
            for (int i = index; i < count - 1; i++) {
                numArray[i] = numArray[i + 1];
                nameArray[i] = nameArray[i + 1];
                wageArray[i] = wageArray[i + 1];
            }
            count--;
        }
        showInfo();

查询员工信息

 public static void selectInfo() {
        int index = checkIsNo();
        if (index != -1) {
            JOptionPane.showMessageDialog(null, "工号:    "+numArray[index] + "\n" + "姓名:    "+nameArray[index]
                    + "\n" + "工资:    "+wageArray[index]);
        }
    }

修改工资

 public static void upateMoney() {
        int index = checkIsNo();
        if (index != -1) {
            String updateWage = JOptionPane.showInputDialog(null, "请输入修改的工资:");
            wageArray[index] = Integer.parseInt(updateWage);
            showInfo();
        }
    }

按工资排序显示工资单

 public static void rankWage() {
        for (int i = 0; i < count; i++) {
            for (int j = i + 1; j < count; j++) {
                if (wageArray[i] < wageArray[j]) {
                    String num = numArray[i];
                    numArray[i] = numArray[j];
                    numArray[j] = num;

                    String name = nameArray[i];
                    nameArray[i] = nameArray[j];
                    nameArray[j] = name;

                    int wage = wageArray[i];
                    wageArray[i] = wageArray[j];
                    wageArray[j] = wage;
                }
            }
        }
        showInfo();
    }

全部代码

package com.procject.work.jan_11;

import javax.swing.*;

/**
 * 使用员工管理系统之前,需要先登陆。登陆后,可以完成员工的添加、显示,删除、修改、查找、排序的功能。
 */
public class StaffingSystem {
    /***
     * 工号数组
     */
    public static String[] numArray = {"001", "003", "004", "007", "010"};
    /***
     * 员工数组
     */
    public static String[] nameArray = {"马超", "关羽", "韩信", "李白", "赵云"};
    /***
     * 工资数组
     */
    public static int[] wageArray = {12500, 8888, 10000, 7850, 9500};
    /***
     * 员工个数
     */
    public static int count = 5;

    public static void main(String[] args) {
        if (login() == false) {
            JOptionPane.showMessageDialog(null, "非法用户!");
            System.exit(0);
        }
        //界面
        while (true) {
            String item = JOptionPane.showInputDialog(null, "请选择:\n1.添加员工\n2.显示员工信息\n3.删除员工\n" +
                    "4.查询员工信息\n5.修改员工工资\n6.按员工排序显示工资单\n7.退出");
            switch (item) {
                case "1":
                    addStaff();
                    break;
                case "2":
                    showInfo();
                    break;
                case "3":
                    delStaff();
                    break;
                case "4":
                    selectInfo();
                    break;
                case "5":
                    upateMoney();
                    break;
                case "6":
                    rankWage();
                    break;
                case "7":
                    JOptionPane.showMessageDialog(null, "感谢您的使用!再见!");
                    System.exit(0);
                    break;
                default:
                    JOptionPane.showMessageDialog(null, "请按正确指令操作 !");
                    break;
            }
        }
    }

    /***
     * 登录
     * @return
     */
    public static boolean login() {
        for (int i = 0; i < 3; i++) {
            String user = JOptionPane.showInputDialog(null, "请输入用户名");
            String pwd = JOptionPane.showInputDialog(null, "请输入密码:");
            if ("admin".equals(user) && "123456".equals(pwd)) {
                JOptionPane.showMessageDialog(null, "登录成功");
                return true;
            }
            JOptionPane.showMessageDialog(null, "用户名或密码错误!");
        }
        return false;
    }

    /***
     * 添加员工
     */
    public static void addStaff() {
        if (count == numArray.length) {
            addArray();
        }
        String numInput = JOptionPane.showInputDialog(null, "请输入工号:");
        if (checkNum(numInput) == true) {
            JOptionPane.showMessageDialog(null, "工号已存在!");
            return;
        }
        String nameInput = JOptionPane.showInputDialog(null, "请输入姓名:");
        String wageInput = JOptionPane.showInputDialog(null, "请输入工资:");


        numArray[count] = numInput;
        nameArray[count] = nameInput;
        wageArray[count] = Integer.parseInt(wageInput);
        count++;


        //递归
        String isContinue = JOptionPane.showInputDialog(null, "是否继续(y/n)");
        //忽略大小写是否相等
        if ("y".equalsIgnoreCase(isContinue)) {
            addStaff();
        } else if ("n".equalsIgnoreCase(isContinue)) {
            return;
        }


    }

    /***
     * 判断工号是否存在
     * @return true 表示工号存在
     */
    public static boolean checkNum(String num) {
        for (int i = 0; i < count; i++) {
            if (num.equals(numArray[i])) {
                return true;
            }
        }
        return false;
    }

    /**
     * 显示员工信息
     */
    public static void showInfo() {
        String info = "工号           " + "姓名             " + "工资\n";
        for (int i = 0; i < count; i++) {
            info += numArray[i] + "             " + nameArray[i] + "             " + wageArray[i] + "\n";
        }
        JOptionPane.showMessageDialog(null, info);
    }

    /***
     * 超出原数组,创建新数组
     */
    public static void addArray() {
        //定义新数组,长度不够时+10
        String[] newNumArray = new String[count + 10];
        String[] newNameArray = new String[count + 10];
        int[] newWageArray = new int[count + 10];

        //遍历旧数组,将旧数组的值赋给新数组
        for (int i = 0; i<count; i++) {
            newNumArray[i] = numArray[i];
            newNameArray[i] = nameArray[i];
            newWageArray[i] = wageArray[i];
        }

        //将原来的数组指向新数组
        numArray = newNumArray;
        nameArray = newNameArray;
        wageArray = newWageArray;
    }

    /***
     *判断姓名是否存在
     * @return -1 表示找不到
     */
    public static int checkIsNo() {
        String InputName = JOptionPane.showInputDialog(null, "请输入要删除的姓名:");
        for (int i = 0; i < count; i++) {
            if (InputName.equals(nameArray[i])) {
                return i;
            }
        }
        JOptionPane.showMessageDialog(null, "查无此人");
        return -1;
    }

    /***
     * 删除员工
     */
    public static void delStaff() {
        int index = checkIsNo();
        if (index != -1) {
            //用后一个替换前一个元素
            for (int i = index; i < count - 1; i++) {
                numArray[i] = numArray[i + 1];
                nameArray[i] = nameArray[i + 1];
                wageArray[i] = wageArray[i + 1];
            }
            count--;
        }
        showInfo();
    }

    /***
     * 查询员工信息
     */
    public static void selectInfo() {
        int index = checkIsNo();
        if (index != -1) {
            JOptionPane.showMessageDialog(null, "工号:    "+numArray[index] + "\n" + "姓名:    "+nameArray[index]
                    + "\n" + "工资:    "+wageArray[index]);
        }

    }

    /***
     * 修改工资
     */
    public static void upateMoney() {
        int index = checkIsNo();
        if (index != -1) {
            String updateWage = JOptionPane.showInputDialog(null, "请输入修改的工资:");
            wageArray[index] = Integer.parseInt(updateWage);
            showInfo();
        }
    }

    /***
     * 按工资排序显示工资单
     */
    public static void rankWage() {
        for (int i = 0; i < count; i++) {
            for (int j = i + 1; j < count; j++) {
                if (wageArray[i] < wageArray[j]) {
                    String num = numArray[i];
                    numArray[i] = numArray[j];
                    numArray[j] = num;

                    String name = nameArray[i];
                    nameArray[i] = nameArray[j];
                    nameArray[j] = name;

                    int wage = wageArray[i];
                    wageArray[i] = wageArray[j];
                    wageArray[j] = wage;
                }
            }
        }
        showInfo();
    }
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再笨的鸟也要飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值