java实验-实现程序模拟简单的企业职工管理系统

实现程序模拟简单的企业职工管理系统。编写程序实现以下要求:
(1)请按继承层次构建企业的各种职工类型,包括超类Employee,以及相应的子类Manager、Secretary和Programmer,从Manager继承又可得到Executive。超类Employee有编号,姓名,年龄,薪金、地址和雇佣日期等信息。
(2)用户可以根据职工编号或职工姓名查找所需的信息。管理人员可以增加,删除数据;可以写入一个数据,查找一个数据,或删除一个数据;此外,管理人员可以增加或降低每个职工的薪金。程序通过ArrayList来实现增加,查找,删除数据。

可以参考一下

import java.util.*;

public class main {
    private static Scanner input = new Scanner(System.in);
    private static String[][] workers = new String[100][8];
    private static String[] workerName = new String[100];
    private static String[] newWorker = new String[8];
    private static int total = 0;

    public static void main(String[] args) {
        excleFiles file = new excleFiles();
        file.go(workers,workerName);//初始化workers表
        sortUp Osort = new sortUp();
        total = file.getTotal();
        Osort.sort(workers,total,0);
        System.out.println("经过姓名字典排序后的职工表为");
        for (int i = 0;i < total;i++){
            for (int j = 0;j < 8;j++){
                System.out.print(workers[j][i]+" ");
            }
            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("*                 6.退出                                    *");
        System.out.println("*                                                          *");
        System.out.println("***********************职工管理系统**********************");

        while (true) {
            System.out.println("请选择需要的服务(1-6):");
            int Select = input.nextInt();
            if(Select == 1){//添加功能已完善!
                int i = 0;
                System.out.println("您现在选择的是增加职工,请输入对应信息");
                System.out.println("姓名:");
                newWorker[i] = input.next();
                i++;
                System.out.println("性别:");
                newWorker[i] = input.next();
                i++;
                System.out.println("出生年月:");
                newWorker[i] = input.next();
                i++;
                System.out.println("工作年月:");
                newWorker[i] = input.next();
                i++;
                System.out.println("学历:");
                newWorker[i] = input.next();
                i++;
                System.out.println("职务:");
                newWorker[i] = input.next();
                i++;
                System.out.println("住址:");
                newWorker[i] = input.next();
                i++;
                System.out.println("电话:");
                newWorker[i] = input.next();
                System.out.println("您输入的用户信息为");
                for (i = 0;i < 8;i++) {
                    System.out.print(newWorker[i] + " ");
                }
                System.out.println("是否对其进行写入?确认请输入y,否则输入n");
                if(input.next().equals("y")){
                    for (i = 0;i < 8;i++) {
                        workers[i][total] = newWorker[i];
                    }
                    total++;
                    System.out.println("已写入");
                }
                System.out.println("现在职工表信息为");
                for (i = 0;i < total;i++){
                    for (int j = 0;j < 8;j++){
                        System.out.print(workers[j][i]+" ");
                    }
                    System.out.println();
                }//此部分为调试代码时验证使用
            }
            if(Select == 2){//删除功能(已写完但是未完善)//已完善!!!一遍过
                int flag = 0;
                System.out.println("您现在使用的是删除功能,请输入您要删除的员工姓名");
                String selectName = input.next();
                for(int i = 0;i < total;i++){
                    if (workers[0][i].equals(selectName)) {
                        System.out.println("匹配成功");
                        flag = 1;
                        for (int h = 0;h < 8;h++) {
                            System.out.print(workers[h][i] + " ");
                        }
                        System.out.println("您是否决定对其进行删除?删除请输入y,否则输入n");
                        if (input.next().equals("y")){
                            for (;i < total;i++){
                                for (int j=0;j < 8;j++){
                                    workers[j][i] = workers[j][i+1];
                                }
                            }
                            total--;
                        }
                        break;
                    }
                }
                if (flag == 0){
                    System.out.println("在职工表中未找到匹配对象");
                }
                System.out.println("现在职工表信息为");
                for (int i = 0;i < total;i++){
                    for (int j = 0;j < 8;j++){
                        System.out.print(workers[j][i]+" ");
                    }
                    System.out.println();
                }//此部分为调试代码时验证使用
            }
            if (Select == 3){//查询功能已完善!
                int flag = 0;
                System.out.println("您现在使用的是查询功能,请输入您查询的员工姓名");
                //System.out.println(total);(total值已经成功导入)
                /*for (int i=0;i < total;i++){
                    for (int j=0;j < 7;j++){
                        System.out.println(workers[j][i]);
                    }
                }*///workers表已经成功导入
                String selectName = input.next();
                //if (selectName.equals("a"))
                    //System.out.println("和a一样");
                //System.out.println(selectName);
                for (int i = 0;i < total;i++){
                    //System.out.println(workers[0][i]);这个匹配是对的
                    if (workers[0][i].equals(selectName)){
                        System.out.println("匹配成功");
                        for (int j=0;j < 8;j++) {
                            System.out.print(workers[j][i] + " ");
                        }
                        flag = 1;
                        break;
                    }
                }
                if (flag == 0){
                    System.out.println("未在职工表中找到匹配对象!");

                }
            }
            if (Select == 4){//修改值(已写但是未完善)//就改了一个值,总体功能没问题,gooddd~
                int flag = 0;
                System.out.println("您现在使用的是检索并修改功能,请输入您检索的员工姓名");
                String selectName = input.next();
                for (int i = 0;i < total;i++){
                    if (workers[0][i].equals(selectName)){
                        System.out.println("匹配成功,请输入您想修改的属性编码,编码对应如下");
                        flag = 1;
                        System.out.println("姓名:0    性别:1    出生年月:2  工作年月:3  学历:4    职务:5    住址:6    电话:7");
                        //String temp = input.next();
                        int temp = input.nextInt();
                        for (int j = 0;j < 8;j++){
                            //System.out.println(temp);测试用的
                            if (temp == j){
                                System.out.println("请输入您修改后的值");
                                workers[j][i] = input.next();
                                System.out.println("已修改完毕!");
                            }
                            /*else{
                                System.out.println("还没匹配到");
                            }*/
                        }
                        break;
                    }
                }
                if (flag == 0){
                    System.out.println("未在职工表中找到匹配对象!");
                }
                System.out.println("此时职工表为");
                for (int i=0;i < total;i++){
                    for (int j = 0;j < 8;j++){
                        System.out.print(workers[j][i]+" ");
                    }
                    System.out.println();
                }
            }
            if (Select == 5){//排序输出(采用的是升序字典排列法)
                System.out.println("您选择的是排序功能,本系统将对职工表中的选定属性行升序排列");
                int sign;
                sortUp sort1 = new sortUp();
                System.out.println("请选择您想要进行排序的属性编码,编码对应如下");
                System.out.println("姓名:0    性别:1    出生年月:2  工作年月:3  学历:4    职务:5    住址:6    电话:7");
                sign = input.nextInt();
                sort1.sort(workers,total,sign);
                System.out.println("此时职工表为");
                for (int i=0;i < total;i++){
                    for (int j = 0;j < 8;j++){
                        System.out.print(workers[j][i]+" ");
                    }
                    System.out.println();
                }
            }
            if (Select == 6){//退出并写入文件
                file.output(workers);
                System.out.println("感谢您的使用,欢迎下次再来!");
                break;
            }

        }

    }
}