14.职工信息查询程序 功能要求: 设计职工类,职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等 (自定义)(职工号不重复)。编写一个Java应用程序,实现职工信息从文件staf f.txt读取并通过姓名、工号查找指定职工信息。

时间: 2023-12-06 22:04:31 浏览: 30
好的,根据您的要求,我可以给您提供一个简单的职工信息查询程序的实现思路: 1. 定义职工类,包括职工号、姓名、性别、年龄、学历、工资、住址、电话等属性。可以使用构造方法和getter/setter方法对职工信息进行初始化和获取。 2. 定义一个职工管理类,用于实现职工信息的读取和查询。在职工管理类中,可以使用HashMap来存储职工信息,其中职工号作为键,职工对象作为值。 3. 在职工管理类中,编写一个方法用于从文件staff.txt中读取职工信息并将其存储到HashMap中。读取文件可以使用Java中的File和Scanner类。 4. 在职工管理类中,编写一个方法用于通过姓名或职工号来查询指定职工的信息。可以使用HashMap的get方法来获取指定的职工对象。 5. 在主函数中,创建职工管理对象,并调用读取职工信息和查询职工信息的方法,实现职工信息的查询。 以上是一个简单的职工信息查询程序的实现思路,您可以根据需求进行具体的实现。
相关问题

用java写一个职工信息查询程序 功能要求: 设计职工类,职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(自定义)(职工号不重复)。编写一个Java应用程序,实现职工信息从文件staff.txt读取并通过姓名、工号查找指定职工信息。

好的,我可以给您提供一个简单的职工信息查询程序的Java代码示例,您可以参考。首先,我们需要先创建一个职工类Worker: ```java public class Worker { private String workerNo; // 职工号 private String name; // 姓名 private String gender; // 性别 private int age; // 年龄 private String education; // 学历 private double salary; // 工资 private String address; // 住址 private String phone; // 电话 // 构造函数 public Worker(String workerNo, String name, String gender, int age, String education, double salary, String address, String phone) { this.workerNo = workerNo; this.name = name; this.gender = gender; this.age = age; this.education = education; this.salary = salary; this.address = address; this.phone = phone; } // getter和setter方法 public String getWorkerNo() { return workerNo; } public void setWorkerNo(String workerNo) { this.workerNo = workerNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEducation() { return education; } public void setEducation(String education) { this.education = education; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } } ``` 然后,我们需要创建一个工具类来读取staff.txt文件中的职工信息,并将其存储到一个Worker对象的列表中: ```java import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; import java.util.List; public class WorkerUtil { // 从文件中读取职工信息并存储到列表中 public static List<Worker> readWorkersFromFile(String filePath) { List<Worker> workers = new ArrayList<>(); try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { String line; while ((line = reader.readLine()) != null) { String[] fields = line.split(","); if (fields.length != 8) { continue; } String workerNo = fields[0]; String name = fields[1]; String gender = fields[2]; int age = Integer.parseInt(fields[3]); String education = fields[4]; double salary = Double.parseDouble(fields[5]); String address = fields[6]; String phone = fields[7]; Worker worker = new Worker(workerNo, name, gender, age, education, salary, address, phone); workers.add(worker); } } catch (Exception e) { e.printStackTrace(); } return workers; } } ``` 接着,我们需要创建一个主程序类来实现职工信息查询功能: ```java import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { // 从文件中读取职工信息 List<Worker> workers = WorkerUtil.readWorkersFromFile("staff.txt"); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("请输入查询方式(1:按姓名查询,2:按职工号查询,0:退出):"); int option = scanner.nextInt(); if (option == 0) { break; } if (option == 1) { System.out.println("请输入姓名:"); String name = scanner.next(); boolean found = false; for (Worker worker : workers) { if (worker.getName().equals(name)) { found = true; System.out.println(worker.getWorkerNo() + "," + worker.getName() + "," + worker.getGender() + "," + worker.getAge() + "," + worker.getEducation() + "," + worker.getSalary() + "," + worker.getAddress() + "," + worker.getPhone()); } } if (!found) { System.out.println("没有找到姓名为" + name + "的职工信息"); } } else if (option == 2) { System.out.println("请输入职工号:"); String workerNo = scanner.next(); boolean found = false; for (Worker worker : workers) { if (worker.getWorkerNo().equals(workerNo)) { found = true; System.out.println(worker.getWorkerNo() + "," + worker.getName() + "," + worker.getGender() + "," + worker.getAge() + "," + worker.getEducation() + "," + worker.getSalary() + "," + worker.getAddress() + "," + worker.getPhone()); } } if (!found) { System.out.println("没有找到职工号为" + workerNo + "的职工信息"); } } else { System.out.println("输入有误,请重新输入!"); } } } } ``` 在实现职工信息查询功能之前,我们需要在项目根目录下创建一个staff.txt文件,并将职工信息存储在其中。每行表示一个职工信息,字段之间用逗号分隔,例如: ``` 001,张三,男,28,本科,5000,北京市朝阳区,13800000001 002,李四,女,32,硕士,8000,北京市海淀区,13800000002 003,王五,男,25,本科,4500,北京市西城区,13800000003 ``` 然后,我们就可以运行程序,输入查询方式和要查询的信息,即可查询到指定的职工信息了。

3.职工信息管理系统代码要求:设计一个职工信息管理系统,职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电 话等(职工号不重复),并具有以下功能: (1)系统以菜单方式工作 (2)职工信息录入功能(职工信息用文件保存) (3)职工信息浏览功能 (4)查询和排序功能:按工资查询、按学历查询 (5)职工信息删除,修改功能

以下是职工信息管理系统的代码实现,包括职工信息的录入、浏览、查询、排序、删除和修改功能: ```python # 定义员工信息类 class Employee: def __init__(self, id, name, gender, age, education, salary, address, phone): self.id = id self.name = name self.gender = gender self.age = age self.education = education self.salary = salary self.address = address self.phone = phone # 定义员工管理系统类 class EmployeeManagementSystem: def __init__(self): self.employees = [] self.filename = 'employees.txt' # 菜单界面 def menu(self): print('================== 职工信息管理系统 ==================') print('1. 录入职工信息') print('2. 浏览职工信息') print('3. 查询职工信息') print('4. 排序职工信息') print('5. 删除职工信息') print('6. 修改职工信息') print('0. 退出系统') print('====================================================') # 录入员工信息 def add_employee(self): id = input('请输入职工号:') for e in self.employees: if e.id == id: print('职工号已存在,请重新输入!') return name = input('请输入姓名:') gender = input('请输入性别:') age = input('请输入年龄:') education = input('请输入学历:') salary = input('请输入工资:') address = input('请输入住址:') phone = input('请输入电话:') employee = Employee(id, name, gender, age, education, salary, address, phone) self.employees.append(employee) self.save_to_file() # 浏览员工信息 def browse_employee(self): print('职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话') for e in self.employees: print('%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s' % (e.id, e.name, e.gender, e.age, e.education, e.salary, e.address, e.phone)) # 查询员工信息 def query_employee(self): print('1. 按工资查询') print('2. 按学历查询') choice = input('请选择查询方式:') if choice == '1': salary = input('请输入工资:') result = [] for e in self.employees: if e.salary == salary: result.append(e) if len(result) > 0: print('职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话') for e in result: print('%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s' % (e.id, e.name, e.gender, e.age, e.education, e.salary, e.address, e.phone)) else: print('没有找到符合条件的员工!') elif choice == '2': education = input('请输入学历:') result = [] for e in self.employees: if e.education == education: result.append(e) if len(result) > 0: print('职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话') for e in result: print('%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s' % (e.id, e.name, e.gender, e.age, e.education, e.salary, e.address, e.phone)) else: print('没有找到符合条件的员工!') else: print('输入有误,请重新选择!') # 排序员工信息 def sort_employee(self): print('1. 按工资排序') print('2. 按学历排序') choice = input('请选择排序方式:') if choice == '1': self.employees.sort(key=lambda x:x.salary) self.browse_employee() elif choice == '2': self.employees.sort(key=lambda x:x.education) self.browse_employee() else: print('输入有误,请重新选择!') # 删除员工信息 def delete_employee(self): id = input('请输入要删除的职工号:') for e in self.employees: if e.id == id: self.employees.remove(e) print('删除成功!') self.save_to_file() return print('职工号不存在,请重新输入!') # 修改员工信息 def modify_employee(self): id = input('请输入要修改的职工号:') for e in self.employees: if e.id == id: name = input('请输入姓名:') gender = input('请输入性别:') age = input('请输入年龄:') education = input('请输入学历:') salary = input('请输入工资:') address = input('请输入住址:') phone = input('请输入电话:') e.name = name e.gender = gender e.age = age e.education = education e.salary = salary e.address = address e.phone = phone print('修改成功!') self.save_to_file() return print('职工号不存在,请重新输入!') # 将员工信息保存到文件中 def save_to_file(self): with open(self.filename, 'w') as f: for e in self.employees: f.write('%s,%s,%s,%s,%s,%s,%s,%s\n' % (e.id, e.name, e.gender, e.age, e.education, e.salary, e.address, e.phone)) # 从文件中读取员工信息 def load_from_file(self): try: with open(self.filename, 'r') as f: for line in f: data = line.strip().split(',') employee = Employee(data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7]) self.employees.append(employee) except FileNotFoundError: pass # 运行员工管理系统 def run(self): self.load_from_file() while True: self.menu() choice = input('请选择操作:') if choice == '1': self.add_employee() elif choice == '2': self.browse_employee() elif choice == '3': self.query_employee() elif choice == '4': self.sort_employee() elif choice == '5': self.delete_employee() elif choice == '6': self.modify_employee() elif choice == '0': print('谢谢使用,再见!') break else: print('输入有误,请重新选择!') ``` 调用方法: ```python ems = EmployeeManagementSystem() ems.run() ``` 在运行职工信息管理系统之前,需要先创建一个名为"employees.txt"的文件,用于保存员工信息。

相关推荐

最新推荐

recommend-type

职工信息管理系统(C语言)

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。 试设计一职工信息管理系统,使之能提供以下功能: 1、系统以菜单方式工作 2、职工信息录入功能(职工信息用文件保存)--输入 3、职工...
recommend-type

职工信息管理系统课设报告

职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。主要实现以下功能: 1. 录入职工信息并保存 2. 显示所有职工信息(以一定的格式) 3. 查询或排序功能——算法,按工资...
recommend-type

关于__Federico Milano 的电力系统分析工具箱.zip

1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
recommend-type

RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz

REALTEK 8188FTV 8188eus 8188etv linux驱动程序稳定版本, 支持AP,STA 以及AP+STA 共存模式。 稳定支持linux4.0以上内核。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

:YOLO目标检测算法的挑战与机遇:数据质量、计算资源与算法优化,探索未来发展方向

![:YOLO目标检测算法的挑战与机遇:数据质量、计算资源与算法优化,探索未来发展方向](https://img-blog.csdnimg.cn/7e3d12895feb4651b9748135c91e0f1a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5rKJ6YaJ77yM5LqO6aOO5Lit,size_20,color_FFFFFF,t_70,g_se,x_16) # 1. YOLO目标检测算法简介 YOLO(You Only Look Once)是一种
recommend-type

def ObjFun(x,y,beta): # 目标函数 """ Logistic regression loss function :param beta: model parameter vector :param x: feature matrix :param y: label vector :return: loss value """ n = x.shape[0] p = x.shape[1] pred = 1 / (1 + np.exp(-np.dot(x, beta))) pred = np.clip(pred, 1e-15, 1 - 1e-15) # 将预测值限制在一个很小的区间内 ObjVal = -np.sum(y * np.log(pred) + (1 - y) * np.log(1 - pred)) / n return ObjVal

好的,根据上面的目标函数,我们可以推导出其对应的梯度向量函数,如下所示: def gradient(x, y, beta): """ Compute gradient of the logistic regression loss function :param beta: model parameter vector :param x: feature matrix :param y: label vector :return: gradient vector """ n = x.shape[0] pred = 1 /
recommend-type

c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf

校园超市商品信息管理系统课程设计旨在帮助学生深入理解程序设计的基础知识,同时锻炼他们的实际操作能力。通过设计和实现一个校园超市商品信息管理系统,学生掌握了如何利用计算机科学与技术知识解决实际问题的能力。在课程设计过程中,学生需要对超市商品和销售员的关系进行有效管理,使系统功能更全面、实用,从而提高用户体验和便利性。 学生在课程设计过程中展现了积极的学习态度和纪律,没有缺勤情况,演示过程流畅且作品具有很强的使用价值。设计报告完整详细,展现了对问题的深入思考和解决能力。在答辩环节中,学生能够自信地回答问题,展示出扎实的专业知识和逻辑思维能力。教师对学生的表现予以肯定,认为学生在课程设计中表现出色,值得称赞。 整个课程设计过程包括平时成绩、报告成绩和演示与答辩成绩三个部分,其中平时表现占比20%,报告成绩占比40%,演示与答辩成绩占比40%。通过这三个部分的综合评定,最终为学生总成绩提供参考。总评分以百分制计算,全面评估学生在课程设计中的各项表现,最终为学生提供综合评价和反馈意见。 通过校园超市商品信息管理系统课程设计,学生不仅提升了对程序设计基础知识的理解与应用能力,同时也增强了团队协作和沟通能力。这一过程旨在培养学生综合运用技术解决问题的能力,为其未来的专业发展打下坚实基础。学生在进行校园超市商品信息管理系统课程设计过程中,不仅获得了理论知识的提升,同时也锻炼了实践能力和创新思维,为其未来的职业发展奠定了坚实基础。 校园超市商品信息管理系统课程设计的目的在于促进学生对程序设计基础知识的深入理解与掌握,同时培养学生解决实际问题的能力。通过对系统功能和用户需求的全面考量,学生设计了一个实用、高效的校园超市商品信息管理系统,为用户提供了更便捷、更高效的管理和使用体验。 综上所述,校园超市商品信息管理系统课程设计是一项旨在提升学生综合能力和实践技能的重要教学活动。通过此次设计,学生不仅深化了对程序设计基础知识的理解,还培养了解决实际问题的能力和团队合作精神。这一过程将为学生未来的专业发展提供坚实基础,使其在实际工作中能够胜任更多挑战。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

:YOLO目标检测算法的最佳实践:模型训练、超参数调优与部署优化,打造高性能目标检测系统

![:YOLO目标检测算法的最佳实践:模型训练、超参数调优与部署优化,打造高性能目标检测系统](https://img-blog.csdnimg.cn/20201024153508415.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NNRjA1MDQ=,size_16,color_FFFFFF,t_70) # 1. YOLO目标检测算法概述 **1.1 YOLO算法简介** YOLO(You Only Look Once)是一种