`
GyFireI
  • 浏览: 5878 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java第三周-利用集合实现员工信息管理

阅读更多

利用集合实现员工信息管理: 
员工类(父类):

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;
    	   }
    	}
    }
}

 如有考虑不全,尽情谅解。

 

0
1
分享到:
评论

相关推荐

    员工管理系统集合版Java代码

    java实现企业员工信息管理系统完整版 第一部分 案例描述 案例目的 学习面向对象的主要特征和基本概念,包括类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字以及集合等。 案例难度 ...

    JAVA核心技术--高级特征(第八版)--第三部分

    《JAVA核心技术--高级特征(第八版)--第三部分》是一本深入探讨Java编程高级特性的权威指南,涵盖了Java语言的精髓和最新发展。本书分为四部分,确保全面且系统地讲解了Java开发中的关键知识点,而这里我们将聚焦于第...

    我的第一个java项目---超市管理系统

    【标题解析】:“我的第一个java项目---超市管理系统”这一标题表明了这是一个基于Java编程语言开发的初阶项目,主要用于实现超市的管理功能。这通常包括库存管理、销售记录、客户信息处理等方面,对于初学者来说,...

    java-jdk1.8-jdk-8u191-windows-x64.zip

    此外,压缩包中还包含了一个名为`使用说明.txt`的文件,这可能是一份简要的使用指南或注意事项,建议用户在安装后查阅,以获取更多关于如何使用和管理Java JDK 1.8的详细信息。例如,如何配置IDE集成、如何更新JDK、...

    Java文档-jdk-6u10-docs-java类库6.0-高压缩第二部分

    对于Java 6.0,开发者会找到核心类库如`java.lang`、`java.util`、`java.io`等包的详细信息,这些包提供了基本的数据类型、集合框架、I/O流、线程管理等基础功能。 **二、Java平台** `platform`目录下的文档详细...

    java 集合练习题

    在这个“java集合练习题”中,我们主要关注如何使用Java集合框架来处理数据,特别是对于学生信息的存储、排序和输出。以下是对这个练习题的详细解析: 1. **集合框架简介**: Java集合框架是Java API的一部分,它...

    学生信息管理-java-软件工程实验报告

    【标题】:“学生信息管理-java-软件工程实验报告”揭示了这个项目是关于使用Java编程语言来构建一个学生信息管理系统。在软件工程的背景下,这是一个常见的实践任务,旨在锻炼学生在实际开发环境中应用理论知识。 ...

    内含几十个优秀Java简历模板 1-3年适用

    Java开发工程师是IT行业中需求量大且至关重要的角色,尤其对于拥有1-3年经验的开发者来说,一份高质量的简历是展示自身技能和项目经验的关键。本资源包含几十个精心设计的Java简历模板,旨在帮助这个阶段的程序员更...

    JAVA程序员必读--基础篇chm

    8. **集合框架**:Java集合框架包括List、Set、Map等接口和ArrayList、LinkedList、HashSet、HashMap等实现类。它们提供了存储和操作对象的容器,是Java编程中不可或缺的一部分。 9. **输入/输出流**:Java的IO流...

    基于java的职工考勤管理信息系统的设计与实现_kaic.doc

    Java实用教程(第三版)[M]. 北京:清华大学出版社, 2005. 综上所述,基于Java的职工考勤管理信息系统是一个集成了业务逻辑、数据库操作和用户界面设计的综合性项目,对于提升企业的管理水平和提升开发者技能具有重要...

    Core Java Volume II--Advanced Features(10th) Java核心技术第10版 第二卷 英文版

    本卷是第二部分,主要关注Java的高级特性,包括并发、网络、图形用户界面(GUI)、XML处理、数据库访问、反射、注解、Java集合框架的高级用法等。以下是这些关键知识点的详细介绍: 1. **并发**:Java提供了一套...

    java基础---PPT讲稿.zip

    2. **环境配置**:学习Java的第一步通常是安装Java Development Kit(JDK)并设置环境变量,如JAVA_HOME和Path,以便于编译和运行Java程序。 3. **基本语法**:包括变量、数据类型(如整型、浮点型、字符型和布尔型...

    JAVA2学习资料--第二部分ppt教程

    Java集合框架是存储和管理对象的重要工具,包括List、Set、Map等接口及其实现类。了解ArrayList、LinkedList、HashSet、HashMap等容器的特性和使用场景,以及泛型的应用,能够提升代码的效率和可读性。 四、IO流 ...

    JAVA核心技术--高级特征(第八版)--第一部分

    2. **集合框架**:Java的集合框架是其强大之处,包括List、Set、Map接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等。这部分可能深入解析了它们的工作原理、操作效率以及如何选择合适的集合类型。 3....

    java毕业设计-超市综合管理信息系统.zip

    这个系统可能包含了库存管理、销售记录、客户信息管理、员工管理等多个功能模块,旨在提高超市日常运营的效率。 【描述】"java毕业设计"表明了这个项目的重点是利用Java技术来解决实际问题,这通常涉及到Java的基础...

    java基础-中级-高级-深入·

    - **第一个Java程序**:通常是从编写一个简单的“Hello World”程序开始学习Java的。 ### Java中级 #### 1. 面向对象编程 - **类与对象**:类是对象的模板,对象是类的具体实例。 - **封装**:通过将数据和方法...

    【IT十八掌徐培成】Java基础第10天-03.List-集合框架-ArrayList.zip

    通过学习“【IT十八掌徐培成】Java基础第10天-03.List-集合框架-ArrayList”的课程,开发者可以更好地理解和掌握ArrayList的使用,从而在实际项目中更高效地管理数据集合。同时,理解ArrayList与其他集合类的区别和...

    Core Java, Volume II--Advanced Features(10th)

    这本书是Java核心技术的第二卷,专为已经掌握Java基础的开发者设计,旨在深入探讨和理解Java的高级特性和最佳实践。在第10版中,作者对Java的最新版本进行了更新,确保读者能够了解到最新的技术动态。 一、多线程与...

    《精通JAVA----JDK》

    《精通JAVA----JDK》这本书是为初学者提供的一份详尽的JAVA编程指南,它深入探讨了JDK(Java Development Kit)的各种组件和技术。JDK是开发和运行Java应用程序的基础,包含了Java编译器、Java运行时环境、类库以及...

Global site tag (gtag.js) - Google Analytics