利用集合实现员工信息管理:
员工类(父类):
package my.employee; public class Employee { //基本属性 private String ID; private String name; private String position; private int holiday; private double salary; //构造方法 public Employee(String iD,String name,String position,int holiday,double salary){ super(); this.ID=iD; this.name=name; this.position=position; this.holiday=holiday; this.salary=salary; } //get,set方法 public String getID() { return ID; } public void setID(String iD) { ID = iD; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } public int getHoliday() { return holiday; } public void setHoliday(int holiday) { this.holiday = holiday; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } //工资计算 public double sumSalary(int holiday){ return 1; } //结果输出 public void display(){ System.out.println("编号:"+this.ID+"姓名:"+this.name+"职务:"+this.position+"请假天数:"+this.holiday+"工资"+this.sumSalary(this.holiday)); } }
董事类(子类);
public class Director extends Employee{ //构造方法 public Director(String iD,String name,String position,int holiday,double salary){ super(iD,name,position,holiday,salary); this.setID(iD); this.setName(name); this.setPosition(position); this.setHoliday(holiday); this.setSalary(salary); } //工资计算 public double sumSalary(int holiday){ return (this.getSalary()*1.38+5000)/30*(30-this.getHoliday()); } }
经理类(子类):
public class Manager extends Employee { //构造方法 public Manager(String iD,String name,String position,int holiday,double salary){ super(iD,name,position,holiday,salary); this.setID(iD); this.setName(name); this.setPosition(position); this.setHoliday(holiday); this.setSalary(salary); } //工资计算 public double sumSalary(int holiday){ return (this.getSalary()*1.7+500)/30*(30-this.getHoliday()); }
普通员工类(子类);
public class CommonEmployee extends Employee { //构造方法 public CommonEmployee(String iD,String name,String position,int holiday,double salary){ super(iD,name,position,holiday,salary); this.setID(iD); this.setName(name); this.setPosition(position); this.setHoliday(holiday); this.setSalary(salary); } //工资计算 public double sumSalary(int holiday){ return (this.getSalary()*1.6+200)/30*(30-this.getHoliday()); } }
员工信息处理类:
import java.util.ArrayList; import java.util.Scanner; public class EmployeeInformationPro { public static ArrayList<Employee> ems=new ArrayList(); public void addEmployee(){ Scanner sc=new Scanner(System.in); System.out.println("请输入员工编号:"); String id=sc.nextLine(); System.out.println("请输入员工姓名:"); String name=sc.nextLine(); System.out.println("情书员工的职务:(employee,manager,chaieman)"); String position=sc.nextLine(); System.out.println("请输入员工的请假天数:"); int holiday=sc.nextInt(); System.out.println("请输入员工的基本工资:"); double salary=sc.nextDouble(); if(position.equals("employee")){ Employee newOne=new CommonEmployee(id,name,position,holiday,salary); ems.add(newOne); System.out.print("增加数据成功"); newOne.display(); }else if(position.equals("mangager")){ Employee newOne=new Manager(id,name,position,holiday,salary); ems.add(newOne); System.out.print("增加数据成功"); newOne.display(); }else if(position.equals("chairman")){ Employee newOne=new Director(id,name,position,holiday,salary); ems.add(newOne); System.out.print("增加数据成功"); newOne.display(); }else System.out.println("您所输入的职务不存在"); } public void delEmployee(){ Scanner sc=new Scanner(System.in); boolean flag=false; System.out.println("请输入员工姓名:"); String name=sc.nextLine(); for(int i=0;i<ems.size();i++){ Employee em=ems.get(i); if(em.getName().equals(name)){ em.display(); ems.remove(i); System.out.println("删除数据成功!"); flag=true; break; } } if(!flag){ System.out.println("您输入的员工姓名不存在!"); } } public void updateEmployee(){ Scanner sc=new Scanner(System.in); int count=0; boolean flag=false; System.out.println("请输入员工姓名:"); String name=sc.nextLine(); Employee em; for(int i=0;i<ems.size();i++){ em=ems.get(i); if(em.getName().equals(name)){ em.display(); flag=true; count=i; break; } } if(!flag){ System.out.println("您输入的员工姓名不存在!"); }else{ System.out.println("请重新输入员工信息:"); System.out.println("请输入员工编号:"); String id=sc.nextLine(); System.out.println("请输入员工姓名:"); String names=sc.nextLine(); System.out.println("情书员工的职务:(employee,manager,chaieman)"); String position=sc.nextLine(); System.out.println("请输入员工的请假天数:"); int holiday=sc.nextInt(); System.out.println("请输入员工的基本工资:"); double salary=sc.nextDouble(); if(position.equals("employee")){ Employee newOne=new CommonEmployee(id,names,position,holiday,salary); ems.remove(count); ems.add(newOne); System.out.print("修改数据成功"); newOne.display(); }else if(position.equals("manager")){ Employee newOne=new Manager(id,names,position,holiday,salary); ems.remove(count); ems.add(newOne); System.out.print("修改数据成功"); newOne.display(); }else if(position.equals("chairman")){ Employee newOne=new Director(id,names,position,holiday,salary); ems.remove(count); ems.add(newOne); System.out.print("修改数据成功"); newOne.display(); }else { System.out.println("您所输入的职务不存在"); } } } public void queryEmployee(){ Scanner sc=new Scanner(System.in); System.out.println("请输入员工姓名:"); String name=sc.nextLine(); boolean flag=false; for(int i=0;i<ems.size();i++){ Employee em=ems.get(i); if(em.getName().equals(name)){ em.display(); flag=true; break; } } if(!flag){ System.out.println("您输入的员工姓名不存在!"); } } }
测试类:
import java.util.Scanner; public class TestEmployee { public void Menu(){ System.out.println("|---------------|"); System.out.println("|-----1 增加.-----|"); System.out.println("|-----2 删除.-----|"); System.out.println("|-----3 修改.-----|"); System.out.println("|-----4 查询.-----|"); System.out.println("|-----0 退出.-----|"); System.out.println("|---------------|"); } public static void main(String []args){ EmployeeInformationPro EIP=new EmployeeInformationPro(); TestEmployee TE=new TestEmployee(); Scanner sc=new Scanner(System.in); TE.Menu(); while(true){ int choose=sc.nextInt(); switch(choose){ case 0: System.exit(0); break; case 1: EIP.addEmployee(); TE.Menu(); break; case 2: EIP.delEmployee(); TE.Menu(); break; case 3: EIP.updateEmployee(); TE.Menu(); break; case 4: EIP.queryEmployee(); TE.Menu(); break; default: System.out.println("输入选项不存在,请重新输入!"); TE.Menu(); break; } } } }
如有考虑不全,尽情谅解。
相关推荐
java实现企业员工信息管理系统完整版 第一部分 案例描述 案例目的 学习面向对象的主要特征和基本概念,包括类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字以及集合等。 案例难度 ...
《JAVA核心技术--高级特征(第八版)--第三部分》是一本深入探讨Java编程高级特性的权威指南,涵盖了Java语言的精髓和最新发展。本书分为四部分,确保全面且系统地讲解了Java开发中的关键知识点,而这里我们将聚焦于第...
【标题解析】:“我的第一个java项目---超市管理系统”这一标题表明了这是一个基于Java编程语言开发的初阶项目,主要用于实现超市的管理功能。这通常包括库存管理、销售记录、客户信息处理等方面,对于初学者来说,...
此外,压缩包中还包含了一个名为`使用说明.txt`的文件,这可能是一份简要的使用指南或注意事项,建议用户在安装后查阅,以获取更多关于如何使用和管理Java JDK 1.8的详细信息。例如,如何配置IDE集成、如何更新JDK、...
对于Java 6.0,开发者会找到核心类库如`java.lang`、`java.util`、`java.io`等包的详细信息,这些包提供了基本的数据类型、集合框架、I/O流、线程管理等基础功能。 **二、Java平台** `platform`目录下的文档详细...
在这个“java集合练习题”中,我们主要关注如何使用Java集合框架来处理数据,特别是对于学生信息的存储、排序和输出。以下是对这个练习题的详细解析: 1. **集合框架简介**: Java集合框架是Java API的一部分,它...
【标题】:“学生信息管理-java-软件工程实验报告”揭示了这个项目是关于使用Java编程语言来构建一个学生信息管理系统。在软件工程的背景下,这是一个常见的实践任务,旨在锻炼学生在实际开发环境中应用理论知识。 ...
Java开发工程师是IT行业中需求量大且至关重要的角色,尤其对于拥有1-3年经验的开发者来说,一份高质量的简历是展示自身技能和项目经验的关键。本资源包含几十个精心设计的Java简历模板,旨在帮助这个阶段的程序员更...
8. **集合框架**:Java集合框架包括List、Set、Map等接口和ArrayList、LinkedList、HashSet、HashMap等实现类。它们提供了存储和操作对象的容器,是Java编程中不可或缺的一部分。 9. **输入/输出流**:Java的IO流...
Java实用教程(第三版)[M]. 北京:清华大学出版社, 2005. 综上所述,基于Java的职工考勤管理信息系统是一个集成了业务逻辑、数据库操作和用户界面设计的综合性项目,对于提升企业的管理水平和提升开发者技能具有重要...
本卷是第二部分,主要关注Java的高级特性,包括并发、网络、图形用户界面(GUI)、XML处理、数据库访问、反射、注解、Java集合框架的高级用法等。以下是这些关键知识点的详细介绍: 1. **并发**:Java提供了一套...
2. **环境配置**:学习Java的第一步通常是安装Java Development Kit(JDK)并设置环境变量,如JAVA_HOME和Path,以便于编译和运行Java程序。 3. **基本语法**:包括变量、数据类型(如整型、浮点型、字符型和布尔型...
Java集合框架是存储和管理对象的重要工具,包括List、Set、Map等接口及其实现类。了解ArrayList、LinkedList、HashSet、HashMap等容器的特性和使用场景,以及泛型的应用,能够提升代码的效率和可读性。 四、IO流 ...
2. **集合框架**:Java的集合框架是其强大之处,包括List、Set、Map接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等。这部分可能深入解析了它们的工作原理、操作效率以及如何选择合适的集合类型。 3....
这个系统可能包含了库存管理、销售记录、客户信息管理、员工管理等多个功能模块,旨在提高超市日常运营的效率。 【描述】"java毕业设计"表明了这个项目的重点是利用Java技术来解决实际问题,这通常涉及到Java的基础...
- **第一个Java程序**:通常是从编写一个简单的“Hello World”程序开始学习Java的。 ### Java中级 #### 1. 面向对象编程 - **类与对象**:类是对象的模板,对象是类的具体实例。 - **封装**:通过将数据和方法...
通过学习“【IT十八掌徐培成】Java基础第10天-03.List-集合框架-ArrayList”的课程,开发者可以更好地理解和掌握ArrayList的使用,从而在实际项目中更高效地管理数据集合。同时,理解ArrayList与其他集合类的区别和...
这本书是Java核心技术的第二卷,专为已经掌握Java基础的开发者设计,旨在深入探讨和理解Java的高级特性和最佳实践。在第10版中,作者对Java的最新版本进行了更新,确保读者能够了解到最新的技术动态。 一、多线程与...
《精通JAVA----JDK》这本书是为初学者提供的一份详尽的JAVA编程指南,它深入探讨了JDK(Java Development Kit)的各种组件和技术。JDK是开发和运行Java应用程序的基础,包含了Java编译器、Java运行时环境、类库以及...