• JAVA代码 企业人力资源管理系统(详细带截图) 毕业设计


    不感兴趣往下滑直接看代码,不然可以继续查看 

    题目九、企业人力资源管理系统

    1、问题描述: 

    《企业人力资源管理系统——工资管理》案例主要对企业员工信息和工资进行管理。将企业员工按工种的不同分为经理、销售人员、技术人员、销售经理和技术总监五类人员。该案例具备五类人员信息的添加、删除、修改、查询、浏览、保存和计算工资等功能,很好的达到了对企业员工信息和工资管理的目的。

    2.功能要求: 

    根据企业实际需求,将案例分为5个模块。 

    (1)模块一: 

    对企业中所有员工的基本信息提取出来定义一个类。该类包括员工的编号、姓名、性别、年龄、参加工作时间、部门、职务、联系方式,奖金、扣发工资和基本工资等属性,还包括对员工基本信息的录入、显示和计算实发工资等功能。 

    (2)模块二: 

    实现统计员工总数功能;实现插入和提取运算符的重载。

    (3)模块三: 

    根据企业中员工的工作性质的不同,将所有员工分为经理、销售人员、技术人员等三类。其中,经理又可分为销售经理和技术总监两类。 

    经理类除了包含员工的基本信息外,还包括级别和职务津贴两个属性,还包括对经理信息的录入、显示和计算实发工资等功能。经理类是从员工类派生的。实发工资等于基本工资+奖金-扣发工资+职务津贴。 

    销售人员类除了包含员工的基本信息外,还包括销售额和提成比例两个属性,还包括对销售人员信息的录入、显示和计算实发工资等功能。销售人员类是从员工类派生的。实发工资等于基本工资+奖金-扣发工资+销售额*提成比例。 

    技术人员除了包含员工的基本信息外,还包括工作时数和每小时金额两个属性,还包括对技术人员信息的录入、显示和计算实发工资等功能。技术人员类也是从员工类派生的。实发工资等于基本工资+奖金-扣发工资+工作时数*每小时金额。每小时金额随工作时数的不同而取不同的值。

    销售经理即包含经理的信息,也包含销售人员的信息。所以销售经理是由经理类和销售人员类派生的。它具备信息的录入、显示和计算实发工资等功能。实发工资等于基本工资+奖金-扣发工资+销售额*提成比例+职务津贴。 

    技术总监即包含经理的信息,也包含技术人员的信息。所以技术总监是由经理类和技术人员类派生的。它具备信息的录入、显示和计算实发工资等功能。实发工资等于基本工资+奖金-扣发工资+工作时数*每小时金额+职务津贴 

    (4)模块四: 

    定义管理类实现对不同的员工的管理。

    (5)模块五: 

    从文件中读取员工信息和将修改后的员工信息保存到文件中。 

    (6)能够对各类员工的员工信息进行添加、删除、修改、查询、浏览、保存和计算工资等功能

     

     测试的(不感兴趣往下滑看代码):

    ------------公司人员------------------
    当前公司人员:
    姓名:3
    数据读取成功!当前人数:1
    -------------------------------
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:1
    -----------------------
    当前员工数量:1
    -----------------------
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:2
    请输入添加人姓名:
    张三
    请输入序号职位:1.销售人员 2.技术人员 3.销售总经理 4.技术总经理
    2
    ------------技术经理信息输入(或修改)-----------------
    ID:
    12
    姓名:
    张三
    性别

    工作时间
    12
    职务
    java后台人员
    联系方式
    12333221241
    奖金
    1200
    扣发工资
    21
    基本工资
    22
    工作时数
    10
    小时金额
    400
    ---------------------------------------
    -------------------------------
    用户张三添加成功
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:3
    请输入需要删除人的姓名:
    1
    并没有当前用户1!!!!!!!
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:3
    请输入需要删除人的姓名:
    3
    -------------------------------
    删除用户3成功
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:5
    请输入需要查询的姓名:
    张三
    ------------个人信息查询-----------------
    ID:12
    姓名::张三
    性别:男
    工作时间:12
    部门:技术人员
    职务:java后台人员
    联系方式:12333221241
    奖金:1200.0
    扣发工资:21.0
    基本工资:22.0
    工作时数:10
    小时金额:400
    总工资:5201.0
    ---------------------------------------
    -------------------------------
    输入查询成功
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:6
    请输入需要计算工资的姓名:
    张三
    当前张三工资为:5201.0
    -------------------------------
    计算成功
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:7
    -------------------------------
    保存到文件成功!
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:9
    ------------------浏览--------------------
    姓名:张三 职位:技术人员
    ------------------------------------------
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:4
    请输入修改人姓名:
    张三
    ------------技术经理信息输入(或修改)-----------------
    ID:
    1
    姓名:
    李四
    性别

    工作时间
    12
    职务

    联系方式
    1211121
    奖金
    18
    扣发工资
    12
    基本工资
    12
    工作时数
    321
    小时金额
    11
    ---------------------------------------
    --------------------------------
    修改成功
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:5
    请输入需要查询的姓名:
    李四
    当前需要查询姓名不存在
    ----------企业人力资源管理系统---------------
    1.计算员工数量 2.添加
    3.删除 4.修改
    5.查询 6.计算工资
    7.保存 8.读取文件数据
    9.浏览 10.退出
    请输入选项:

     

    代码部分:

    结构图:

    代码区:

     接口:

    1. package S85.Iservice;
    2. import S85.Modio.EssentialInformation;
    3. public interface IService {
    4. EssentialInformation scanner();
    5. void show(); //显示
    6. double netPayroll();//实发工资
    7. }

    Modio层的:

    1. package S85.Modio;
    2. import S85.Iservice.IService;
    3. import java.io.Serializable;
    4. /**
    5. *
    6. * -----------
    7. * 基本信息类
    8. * ------------
    9. */
    10. public class EssentialInformation implements IService, Serializable {
    11. public int id;
    12. public String name;
    13. public String sex;
    14. public int dataWork;
    15. /**部门*/
    16. public String department;
    17. /**职务*/
    18. public String duty;
    19. /**联系方式*/
    20. public String phone;
    21. /**奖金*/
    22. public double bonus;
    23. /**扣发工资*/
    24. public double salary_deduct;
    25. /**基本工资*/
    26. public double salary;
    27. public EssentialInformation scanner(){return null;} // 子类使用的输入
    28. @Override
    29. public void show() {} //查看子类重载
    30. @Override
    31. public double netPayroll() { //计算工资子类重载
    32. return 0;
    33. }
    34. }

    1. package S85.Modio;
    2. import S85.Modio.EssentialInformation;
    3. import java.io.Serializable;
    4. import java.util.Map;
    5. public class ABC implements Serializable { //保存数据类
    6. public Map map;
    7. public ABC(Map map) {
    8. this.map=map;
    9. }
    10. }
    1. package S85.Modio.saleTechniqueModio;
    2. import S85.Iservice.IService;
    3. import S85.Modio.EssentialInformation;
    4. import java.io.Serializable;
    5. import java.util.Scanner;
    6. /**
    7. * -----------
    8. * 技术人员类
    9. * ------------
    10. */
    11. public class Artisan_personnel extends EssentialInformation implements IService , Serializable {
    12. /**工作时数*/
    13. public int working_hours;
    14. /**小时金额*/
    15. public int hourly_Amount;
    16. public EssentialInformation scanner(){ //删除或者修改
    17. Artisan_personnel art=new Artisan_personnel();
    18. Scanner sc=new Scanner(System.in);
    19. System.out.println("------------技术经理信息输入(或修改)-----------------");
    20. System.out.println("ID:");
    21. art.id= sc.nextInt();
    22. System.out.println("姓名:");
    23. art.name=sc.next();
    24. System.out.println("性别");
    25. art.sex=sc.next();
    26. System.out.println("工作时间");
    27. art.dataWork= sc.nextInt();
    28. System.out.println("职务");
    29. art.duty=sc.next();
    30. System.out.println("联系方式");
    31. art.phone=sc.next();
    32. System.out.println("奖金");
    33. art.bonus=sc.nextDouble();
    34. System.out.println("扣发工资");
    35. art.salary_deduct=sc.nextDouble();
    36. System.out.println("基本工资");
    37. art.salary=sc.nextDouble();
    38. System.out.println("工作时数");
    39. art.working_hours= sc.nextInt();
    40. System.out.println("小时金额");
    41. art.hourly_Amount=sc.nextInt();
    42. art.department="技术人员";
    43. System.out.println("---------------------------------------");
    44. return art;
    45. }
    46. @Override
    47. public void show() {
    48. System.out.println("------------个人信息查询-----------------");
    49. System.out.println("ID:"+id);
    50. System.out.println("姓名::"+name);
    51. System.out.println("性别:"+sex);
    52. System.out.println("工作时间:"+dataWork);
    53. System.out.println("部门:"+department);
    54. System.out.println("职务:"+duty);
    55. System.out.println("联系方式:"+phone);
    56. System.out.println("奖金:"+bonus);
    57. System.out.println("扣发工资:"+salary_deduct);
    58. System.out.println("基本工资:"+salary);
    59. System.out.println("工作时数:"+working_hours);
    60. System.out.println("小时金额:"+hourly_Amount);
    61. System.out.println("总工资:"+netPayroll());
    62. System.out.println("---------------------------------------");
    63. }
    64. @Override
    65. public double netPayroll() {
    66. double wage=salary+bonus-salary_deduct+working_hours*hourly_Amount;
    67. return wage;
    68. }
    69. }
    1. package S85.Modio.saleTechniqueModio;
    2. import S85.Iservice.IService;
    3. import S85.Modio.EssentialInformation;
    4. import java.io.Serializable;
    5. import java.util.Scanner;
    6. /**
    7. * -----------
    8. * 销售人员类
    9. * ------------
    10. */
    11. public class Sell_personnel extends EssentialInformation implements IService , Serializable {
    12. /**销售额;*/
    13. public double sales;
    14. /**提成比例*/
    15. public double commission_Rate;
    16. public EssentialInformation scanner(){
    17. Sell_personnel art=new Sell_personnel();
    18. Scanner sc=new Scanner(System.in);
    19. System.out.println("------------技术人员信息输入(或修改)-----------------");
    20. System.out.println("ID:");
    21. art.id= sc.nextInt();
    22. System.out.println("姓名:");
    23. art.name=sc.next();
    24. System.out.println("性别:");
    25. art.sex=sc.next();
    26. System.out.println("工作时间:");
    27. art.dataWork= sc.nextInt();
    28. System.out.println("职务:");
    29. art.duty=sc.next();
    30. System.out.println("联系方式:");
    31. art.phone=sc.next();
    32. System.out.println("奖金:");
    33. art.bonus=sc.nextDouble();
    34. System.out.println("扣发工资:");
    35. art.salary_deduct=sc.nextDouble();
    36. System.out.println("基本工资:");
    37. art.salary=sc.nextDouble();
    38. System.out.println("销售额:");
    39. art.sales= sc.nextInt();
    40. System.out.println("提成比例:");
    41. art.commission_Rate=sc.nextInt();
    42. art.department="销售人员";
    43. System.out.println("---------------------------------------");
    44. return art;
    45. }
    46. @Override
    47. public void show() {
    48. System.out.println("------------个人信息查询-----------------");
    49. System.out.println("ID:"+id);
    50. System.out.println("姓名::"+name);
    51. System.out.println("性别:"+sex);
    52. System.out.println("工作时间:"+dataWork);
    53. System.out.println("部门:"+department);
    54. System.out.println("职务:"+duty);
    55. System.out.println("联系方式:"+phone);
    56. System.out.println("奖金:"+bonus);
    57. System.out.println("扣发工资:"+salary_deduct);
    58. System.out.println("基本工资:"+salary);
    59. System.out.println("销售额:"+sales);
    60. System.out.println("提成比例:"+commission_Rate);
    61. System.out.println("总工资:"+netPayroll());
    62. System.out.println("---------------------------------------");
    63. }
    64. @Override
    65. public double netPayroll() {
    66. double wage=salary+bonus-salary_deduct+sales*commission_Rate;
    67. return wage;
    68. }
    69. }

    1. package S85.Modio.saleTechniqueModio.ManagerModio;
    2. import S85.Iservice.IService;
    3. import S85.Modio.saleTechniqueModio.Artisan_personnel;
    4. import java.io.Serializable;
    5. /**
    6. * -----------
    7. * 技术经理类
    8. * ------------
    9. */
    10. public class Manager_Artisan extends Artisan_personnel implements IService, Serializable {
    11. /**级别;*/
    12. public String level;
    13. /**职务补贴;*/
    14. public double jobAllowance;
    15. @Override
    16. public void show() {}
    17. @Override
    18. public double netPayroll() {
    19. return salary+bonus-salary_deduct+jobAllowance;
    20. }
    21. }
    1. package S85.Modio.saleTechniqueModio.ManagerModio;
    2. import S85.Iservice.IService;
    3. import S85.Modio.saleTechniqueModio.Sell_personnel;
    4. import java.io.Serializable;
    5. /**
    6. * -----------
    7. * 销售经理类
    8. * ------------
    9. */
    10. public class Manager_Sell extends Sell_personnel implements IService, Serializable {
    11. /**级别;*/
    12. public String level;
    13. /**职务补贴;*/
    14. public double jobAllowance;
    15. @Override
    16. public void show() {}
    17. @Override
    18. public double netPayroll() {
    19. return salary+bonus-salary_deduct+jobAllowance;
    20. }
    21. }
    1. package S85.Modio.saleTechniqueModio.ManagerModio.SaleTechniqueManager;
    2. import S85.Iservice.IService;
    3. import S85.Modio.EssentialInformation;
    4. import S85.Modio.saleTechniqueModio.ManagerModio.Manager_Sell;
    5. import java.io.Serializable;
    6. import java.util.Scanner;
    7. /**
    8. * -----------
    9. * 销售经理类
    10. * ------------
    11. */
    12. public class Sell_manager extends Manager_Sell implements IService, Serializable {
    13. public EssentialInformation scanner(){
    14. Sell_manager art=new Sell_manager();
    15. Scanner sc=new Scanner(System.in);
    16. System.out.println("------------技术经理信息输入(或修改)-----------------");
    17. System.out.println("ID:");
    18. art.id= sc.nextInt();
    19. System.out.println("姓名:");
    20. art.name=sc.next();
    21. System.out.println("性别");
    22. art.sex=sc.next();
    23. System.out.println("工作时间");
    24. art.dataWork= sc.nextInt();
    25. System.out.println("职务");
    26. art.duty=sc.next();
    27. System.out.println("联系方式");
    28. art.phone=sc.next();
    29. System.out.println("奖金");
    30. art.bonus=sc.nextDouble();
    31. System.out.println("扣发工资");
    32. art.salary_deduct=sc.nextDouble();
    33. System.out.println("基本工资");
    34. art.salary=sc.nextDouble();
    35. System.out.println("销售额");
    36. art.sales= sc.nextInt();
    37. System.out.println("提成比例");
    38. art.commission_Rate=sc.nextInt();
    39. System.out.println("级别");
    40. art.level=sc.next();
    41. System.out.println("职务补贴");
    42. art.jobAllowance=sc.nextDouble();
    43. art.department="销售经理";
    44. System.out.println("---------------------------------------");
    45. return art;
    46. }
    47. @Override
    48. public void show() {
    49. System.out.println("------------个人信息查询-----------------");
    50. System.out.println("ID:"+id);
    51. System.out.println("姓名:"+name);
    52. System.out.println("性别:"+sex);
    53. System.out.println("工作时间:"+dataWork);
    54. System.out.println("部门:"+department);
    55. System.out.println("职务:"+duty);
    56. System.out.println("联系方式:"+phone);
    57. System.out.println("奖金:"+bonus);
    58. System.out.println("扣发工资:"+salary_deduct);
    59. System.out.println("基本工资:"+salary);
    60. System.out.println("销售额:"+sales);
    61. System.out.println("提成比例:"+commission_Rate);
    62. System.out.println("级别:"+level);
    63. System.out.println("职务补贴:"+jobAllowance);
    64. System.out.println("总工资:"+netPayroll());
    65. System.out.println("---------------------------------------");
    66. }
    67. @Override
    68. public double netPayroll() {
    69. double wage=salary+bonus-salary_deduct+sales*commission_Rate+jobAllowance;
    70. return wage;
    71. }
    72. }

     

    1. package S85.Modio.saleTechniqueModio.ManagerModio.SaleTechniqueManager;
    2. import S85.Iservice.IService;
    3. import S85.Modio.EssentialInformation;
    4. import S85.Modio.saleTechniqueModio.ManagerModio.Manager_Artisan;
    5. import java.io.Serializable;
    6. import java.util.Scanner;
    7. /**
    8. * -----------
    9. * 技术经理类
    10. * ------------
    11. */
    12. public class Artisan_manager extends Manager_Artisan implements IService, Serializable {
    13. //public int a=1;
    14. //public EssentialInformation object(){
    15. // Artisan_manager art=new Artisan_manager();
    16. // return art;
    17. //}
    18. public EssentialInformation scanner(){
    19. Artisan_manager art=new Artisan_manager();
    20. Scanner sc=new Scanner(System.in);
    21. System.out.println("------------技术经理信息输入(或修改)-----------------");
    22. System.out.println("ID:");
    23. art.id= sc.nextInt();
    24. System.out.println("姓名:");
    25. art.name=sc.next();
    26. System.out.println("性别");
    27. art.sex=sc.next();
    28. System.out.println("工作时间");
    29. art.dataWork= sc.nextInt();
    30. System.out.println("职务");
    31. art.duty=sc.next();
    32. System.out.println("联系方式");
    33. art.phone=sc.next();
    34. System.out.println("奖金");
    35. art.bonus=sc.nextDouble();
    36. System.out.println("扣发工资");
    37. art.salary_deduct=sc.nextDouble();
    38. System.out.println("基本工资");
    39. art.salary=sc.nextDouble();
    40. System.out.println("工作时数");
    41. art.working_hours= sc.nextInt();
    42. System.out.println("小时金额");
    43. art.hourly_Amount=sc.nextInt();
    44. System.out.println("级别");
    45. art.level=sc.next();
    46. System.out.println("职务补贴");
    47. art.jobAllowance=sc.nextDouble();
    48. art.department="技术经理";
    49. System.out.println("---------------------------------------");
    50. return art;
    51. }
    52. @Override
    53. public void show() {
    54. System.out.println("------------个人信息查询-----------------");
    55. System.out.println("ID:"+id);
    56. System.out.println("姓名:"+name);
    57. System.out.println("性别:"+sex);
    58. System.out.println("工作时间:"+dataWork);
    59. System.out.println("部门:"+department);
    60. System.out.println("职务:"+duty);
    61. System.out.println("联系方式:"+phone);
    62. System.out.println("奖金:"+bonus);
    63. System.out.println("扣发工资:"+salary_deduct);
    64. System.out.println("基本工资:"+salary);
    65. System.out.println("工作时数:"+working_hours);
    66. System.out.println("小时金额:"+hourly_Amount);
    67. System.out.println("级别:"+level);
    68. System.out.println("职务补贴:"+jobAllowance);
    69. System.out.println("总工资:"+netPayroll());
    70. System.out.println("---------------------------------------");
    71. }
    72. @Override
    73. public double netPayroll() {
    74. double wage=salary+bonus-salary_deduct+working_hours*hourly_Amount+jobAllowance;
    75. return wage;
    76. }
    77. }

    Service 服务层:

    1. package S85.Service;
    2. import S85.Iservice.IService;
    3. import S85.Modio.EssentialInformation;
    4. import S85.Modio.saleTechniqueModio.Artisan_personnel;
    5. import S85.Modio.saleTechniqueModio.ManagerModio.SaleTechniqueManager.Artisan_manager;
    6. import S85.Modio.saleTechniqueModio.ManagerModio.SaleTechniqueManager.Sell_manager;
    7. import S85.Modio.saleTechniqueModio.Sell_personnel;
    8. import S85.Modio.ABC;
    9. import java.io.*;
    10. import java.util.Map;
    11. import java.util.Scanner;
    12. /**
    13. * 管理类
    14. */
    15. public class Manager {
    16. public Map map;
    17. public ABC ac;
    18. public Scanner sc=new Scanner(System.in);
    19. public Manager(ABC ac) {
    20. this.ac=ac;
    21. map=ac.map; //获取map;
    22. }
    23. /**统计员工总数*/
    24. public void staffSum(){
    25. int sum=map.size();
    26. System.out.println("-----------------------");
    27. System.out.println("当前员工数量:"+sum);
    28. System.out.println("-----------------------");
    29. }
    30. /**添加*/
    31. public void add(){
    32. while (true) {
    33. EssentialInformation esf = null;
    34. System.out.println("请输入添加人姓名:");
    35. String name = sc.next();
    36. System.out.println("请输入序号职位:1.销售人员 2.技术人员 3.销售总经理 4.技术总经理");
    37. switch (sc.nextInt()) {
    38. case 1:
    39. esf = new Sell_personnel();
    40. break;
    41. case 2:
    42. esf = new Artisan_personnel();
    43. break;
    44. case 3:
    45. esf = new Sell_manager();
    46. break;
    47. case 4:
    48. esf = new Artisan_manager();
    49. break;
    50. default:
    51. System.out.println("你选择的序号并没有请重新输入!");
    52. }
    53. if (esf != null) {
    54. EssentialInformation scan = esf.scanner();//数据的存放
    55. map.put(name, scan);
    56. System.out.println("-------------------------------");
    57. System.out.println("用户"+name+"添加成功 ");
    58. break;
    59. }
    60. }
    61. }
    62. /**删除*/
    63. public void delete(){
    64. System.out.println("请输入需要删除人的姓名:");
    65. String name = sc.next();
    66. if(map.remove(name)==null){
    67. System.out.println("并没有当前用户"+name+"!!!!!!!");
    68. }else{
    69. System.out.println("-------------------------------");
    70. System.out.println("删除用户"+name+"成功");
    71. }
    72. }
    73. /**修改*/
    74. public void amend(){
    75. System.out.println("请输入修改人姓名:");
    76. String name = sc.next();
    77. EssentialInformation information = map.get(name);
    78. if(information==null){ //当前数据不存在
    79. System.out.println("当前需要修改人姓名不存在");
    80. return;
    81. }
    82. IService is=information;
    83. EssentialInformation scanner = is.scanner();
    84. map.put(name,scanner); //覆盖写入
    85. System.out.println("--------------------------------");
    86. System.out.println("修改成功");
    87. }
    88. /**查询*/
    89. public void select(){
    90. System.out.println("请输入需要查询的姓名:");
    91. String name = sc.next();
    92. EssentialInformation information = map.get(name);
    93. if(information==null){ //当前数据不存在
    94. System.out.println("当前需要查询姓名不存在");
    95. return;
    96. }
    97. IService is=information;
    98. is.show();
    99. System.out.println("-------------------------------");
    100. System.out.println("输入查询成功");
    101. }
    102. /**浏览*/
    103. public void show(){
    104. System.out.println("------------------浏览--------------------");
    105. for (String s : map.keySet()) {
    106. EssentialInformation essentialInformation = map.get(s);
    107. System.out.println("姓名:"+essentialInformation.name+" 职位:"+essentialInformation.department);
    108. }
    109. System.out.println("------------------------------------------");
    110. }
    111. /**计算工资*/
    112. public void netPayroll(){
    113. System.out.println("请输入需要计算工资的姓名:");
    114. String name = sc.next();
    115. EssentialInformation information = map.get(name);
    116. if(information==null){ //当前数据不存在
    117. System.out.println("当前需要计算工资姓名不存在");
    118. return;
    119. }
    120. IService is=information;
    121. double payroll = is.netPayroll();
    122. System.out.println("当前"+name+"工资为:"+payroll);
    123. System.out.println("-------------------------------");
    124. System.out.println("计算成功");
    125. }
    126. /**保存*/
    127. public void save() throws IOException {
    128. //存储
    129. // FileSystemView fsv = FileSystemView.getFileSystemView();
    130. // File com=fsv.getHomeDirectory();
    131. // ObjectOutputStream o1=new ObjectOutputStream(new FileOutputStream(com.getPath()));
    132. ObjectOutputStream o1=new ObjectOutputStream(new FileOutputStream("C:\\Users\\hbl\\Desktop\\xlh\\cc1.txt"));
    133. o1.writeObject(ac);
    134. o1.flush();
    135. o1.close();
    136. System.out.println("-------------------------------");
    137. System.out.println("保存到文件成功!");
    138. }
    139. /**从文件中读取数据*/
    140. public void readTxt() throws IOException, ClassNotFoundException {
    141. try{
    142. // FileSystemView fsv = FileSystemView.getFileSystemView();
    143. // File com=fsv.getHomeDirectory();
    144. // ObjectInputStream o2=new ObjectInputStream(new FileInputStream(com.getPath()));
    145. //取出
    146. ObjectInputStream o2=new ObjectInputStream(new FileInputStream("C:\\Users\\hbl\\Desktop\\xlh\\cc1.txt"));
    147. Object a=o2.readObject();
    148. o2.close();
    149. ac=(ABC)a; //保存到集合
    150. map=((ABC) a).map; //获取map;
    151. System.out.println("-------------公司人员------------------");
    152. System.out.println("当前公司人员:");
    153. for (String s : map.keySet()) {
    154. EssentialInformation essentialInformation = map.get(s);
    155. System.out.println("姓名:"+essentialInformation.name);
    156. }
    157. System.out.println("数据读取成功!当前人数:"+map.size());
    158. System.out.println("-------------------------------");
    159. }catch (Exception e){
    160. System.out.println("当前并没有此文件!!");
    161. }
    162. }
    163. }

    Main方法层

    1. package S85.Text;
    2. import S85.Modio.ABC;
    3. import S85.Modio.EssentialInformation;
    4. import S85.Service.Manager;
    5. import java.util.HashMap;
    6. import java.util.Map;
    7. import java.util.Scanner;
    8. public class Main {
    9. public static void main(String[] args) throws Exception{
    10. Map map=new HashMap<>();
    11. Scanner scanner=new Scanner(System.in);
    12. ABC abc=new ABC(map);
    13. Manager manager=new Manager(abc);
    14. manager.readTxt();//读取上一次的数据
    15. while(true){
    16. System.out.println("----------企业人力资源管理系统---------------");
    17. System.out.println("1.计算员工数量 2.添加");
    18. System.out.println("3.删除 4.修改");
    19. System.out.println("5.查询 6.计算工资");
    20. System.out.println("7.保存 8.读取文件数据");
    21. System.out.println("9.浏览 10.退出");
    22. System.out.print("请输入选项:");
    23. switch (scanner.nextInt()){
    24. case 1:manager.staffSum();
    25. break;
    26. case 2:manager.add();
    27. break;
    28. case 3:manager.delete();
    29. break;
    30. case 4:manager.amend();
    31. break;
    32. case 5:manager.select();
    33. break;
    34. case 6:manager.netPayroll();
    35. break;
    36. case 7:manager.save();
    37. break;
    38. case 8:manager. readTxt();
    39. break;
    40. case 9:manager.show();
    41. break;
    42. default:
    43. manager.save();
    44. System.out.println("程序退出!本次文件已保存");
    45. System.exit(0);
    46. }
    47. }
    48. }
    49. }

  • 相关阅读:
    net-java-php-python-新华眼镜ERP系统计算机毕业设计程序
    Mybatis完整版详解
    高并发封神之作的《亿级流量高并发》惨遭GitHub免费开源
    jQuery绑定事件bind
    18.4 【Linux】systemd-journald.service 简介
    2018Java面试
    【深度学习】5-从计算图直观认识“激活函数不以零为中心导致收敛变慢”
    Debezium系列之:查看每个Binlog事件的原始SQL语句
    2022 年上海市大学生程序设计竞赛 个人题解
    appium连接模拟器
  • 原文地址:https://blog.csdn.net/qq_56040798/article/details/126616026