谈宋tans 2023-12-12 10:35 采纳率: 0%
浏览 7

java编程职工信息

img


用java写一个职工信息管理系统!
真的不会 大二实验题 有没有人会啊

  • 写回答

1条回答 默认 最新

  • 七待 The 2023-12-12 11:03
    关注
    1. 定义职工类
      类名称: Employee
      属性: 工号(id)、姓名(name)、性别(gender)、年龄(age)、职称(title)、基本工资(base_salary)
    2. 创建职工对象集合
      创建了一个名为 employees 的列表,其中包含了5个 Employee 类的实例(职工对象)。
    3. 保存职工信息到文件
      文件名: 2211050533.dat
      使用 pickle 模块,将 employees 列表(所有职工信息)保存到文件中。
    4. 从文件读取职工信息
      从 2211050533.dat 文件中读取职工信息。
      将读取的信息显示在控制台上。
    5. 计算平均年龄
      计算职工的平均年龄并在控制台上显示。
    6. 统计年龄低于平均年龄的职工
      找出年龄低于平均值的职工。
      将这些职工的信息显示在控制台上。
    7. 按年龄降序排列职工
      将职工按年龄降序排列。
      在控制台上显示排序后的职工信息。
    8. 保存排序后的职工信息到新文件
      文件名: SunLinQin.dat
      将排序后的职工信息保存到新文件中。
      这个流程涵盖了从创建职工对象到数据的存储、处理和输出的全过程。
      下面是代码:
    import pickle
    
    # Define the Employee class
    class Employee:
        def __init__(self, id, name, gender, age, title, base_salary):
            self.id = id
            self.name = name
            self.gender = gender
            self.age = age
            self.title = title
            self.base_salary = base_salary
    
        def __repr__(self):
            return f"ID: {self.id}, Name: {self.name}, Gender: {self.gender}, Age: {self.age}, Title: {self.title}, Base Salary: {self.base_salary}"
    
    # Create a list of employees
    employees = [
        Employee("001", "Alice", "Female", 30, "Manager", 5000),
        Employee("002", "Bob", "Male", 25, "Engineer", 4000),
        Employee("003", "Charlie", "Male", 40, "Technician", 4500),
        Employee("004", "Diana", "Female", 35, "Supervisor", 4800),
        Employee("005", "Evan", "Male", 28, "Clerk", 3500)
    ]
    
    # Save the employee data to a file
    filename = "2211050533.dat"
    with open(filename, "wb") as file:
        pickle.dump(employees, file)
    
    # Read the employee data from the file
    with open(filename, "rb") as file:
        loaded_employees = pickle.load(file)
    
    # Display the loaded employees
    for employee in loaded_employees:
        print(employee)
    
    # Calculate and display the average age
    average_age = sum(emp.age for emp in loaded_employees) / len(loaded_employees)
    print(f"Average Age: {average_age}")
    
    # Find and display employees younger than the average age
    younger_employees = [emp for emp in loaded_employees if emp.age < average_age]
    print(f"Employees younger than the average age ({average_age}):")
    for emp in younger_employees:
        print(emp)
    
    # Sort employees by age in descending order and display
    sorted_employees = sorted(loaded_employees, key=lambda emp: emp.age, reverse=True)
    print("Employees sorted by age in descending order:")
    for emp in sorted_employees:
        print(emp)
    
    # Save the sorted employees to a new file
    sorted_filename = "SunLinQin.dat"
    with open(sorted_filename, "wb") as file:
        pickle.dump(sorted_employees, file)
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月12日

悬赏问题

  • ¥15 刚接触VFP,我想知道为什么是这种情况,有人可以看看吗
  • ¥15 io.jsonwebtoken.security.Keys
  • ¥15 急,ubuntu安装后no caching mode page found等
  • ¥15 联想交换机NE2580O/NE1064TO安装SONIC
  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 win10电脑安装完plcsim advanced4.0运行时为什么会提示找不到虚拟网卡
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信