`
GyFireI
  • 浏览: 5674 次
  • 性别: 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 2平台安全技术-结构,API设计和实现

    第3章 JDK1.2安全结构 19 3.1 起源 19 3.2 为什么需要一个新型的安全结构 19 3.2.1 关于applet的沙盒模型的局限性 19 3.2.2 策略和实施分离的不彻底性 20 3.2.3 安全核查的不易扩展性 20 3.2.4 对本地安装的applet...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    第3篇为项目实战篇,主要包括讯友联系人管理模块、播客视频管理模块、博客管理模块、明日知道论坛管理模块等4个小型项目:第4篇为商业系统篇,主要包括一个大型的商业项目,即天下淘网上购物商城系统。 《Java Web...

    Java 2平台安全技术-结构,API设计和实现

    第3章 JDK1.2安全结构 19 3.1 起源 19 3.2 为什么需要一个新型的安全结构 19 3.2.1 关于applet的沙盒模型的局限性 19 3.2.2 策略和实施分离的不彻底性 20 3.2.3 安全核查的不易扩展性 20 3.2.4 对本地安装的applet...

    Java开发技术大全(500个源代码).

    第3章 示例描述:本章学习对象和类。 accessMember.java 访问成员变量示例 constructNoPara.java 无参数的构造方法 constructWithPara.java 带参数的构造方法 declareDefault.java 缺省访问权限的使用 ...

    Java高级程序设计实战教程第八章-Java数据库编程.pptx

    8.2 相关知识 8.2.1 数据库访问技术简介 8.2.2 JDBC连接数据库 8.3.3 执行SQL操作 Java高级程序设计实战教程第八章-Java数据库编程全文共12页,当前为第3页。 8.2.1 数据库访问技术简介 数据库中的数据存放在数据库...

    JAVA_API1.6文档(中文)

    javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing....

    大工15年春《Java-程序设计》在线作业三100分答案.docx

    大工15年春《Java-程序设计》在线作业三100分答案全文共3页,当前为第2页。 3. 文件是一种存储在外部存储介质上的信息的集合。 A. 错误 B. 正确 ----------------- 选择:B 4. 流的概念是文件系统组织和管理文件的...

    java开源包4

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    Java面试宝典-经典

    74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾回收的...

    java开源包11

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    Java 1.6 API 中文 New

    javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing.border ...

    Java开发详解.zip

    031218_〖第12章:JAVA IO〗_实例操作—单人信息管理程序笔记.pdf 031219_〖第12章:JAVA IO〗_实例操作:投票程序笔记.pdf 031301_【第13章:Java类集】_认识类集、Collection接口笔记.pdf 031302_【第13章:Java类...

    java api最新7.0

    javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing.border ...

    JavaAPI1.6中文chm文档 part1

    javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing....

    疯狂JAVA讲义

    第3章 数据类型和运算符 38 3.1 注释 39 3.1.1 单行注释和多行注释 39 3.1.2 文档注释 40 学生提问:API文档是什么? 40 学生提问:为什么要掌握查看API文档的方法? 42 3.2 标识符和关键字 45 3.2.1 分隔符 ...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

Global site tag (gtag.js) - Google Analytics