圥忈.425 2022-05-30 21:17 采纳率: 85.7%
浏览 75
已结题

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

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

  • 写回答

1条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-05-30 22:38
    关注

    可以参考一下

    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;
                }
    
            }
    
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月7日
  • 已采纳回答 5月30日
  • 创建了问题 5月30日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改