利用集合实现员工信息管理:
员工类(父类):
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的访问修饰符与其它关键字以及集合等。 案例难度 ...
第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...
第3篇为项目实战篇,主要包括讯友联系人管理模块、播客视频管理模块、博客管理模块、明日知道论坛管理模块等4个小型项目:第4篇为商业系统篇,主要包括一个大型的商业项目,即天下淘网上购物商城系统。 《Java Web...
第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...
第3章 示例描述:本章学习对象和类。 accessMember.java 访问成员变量示例 constructNoPara.java 无参数的构造方法 constructWithPara.java 带参数的构造方法 declareDefault.java 缺省访问权限的使用 ...
8.2 相关知识 8.2.1 数据库访问技术简介 8.2.2 JDBC连接数据库 8.3.3 执行SQL操作 Java高级程序设计实战教程第八章-Java数据库编程全文共12页,当前为第3页。 8.2.1 数据库访问技术简介 数据库中的数据存放在数据库...
javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing....
大工15年春《Java-程序设计》在线作业三100分答案全文共3页,当前为第2页。 3. 文件是一种存储在外部存储介质上的信息的集合。 A. 错误 B. 正确 ----------------- 选择:B 4. 流的概念是文件系统组织和管理文件的...
同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...
74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载class文件的原理机制? 52 76、heap和stack有什么区别。 52 77、GC是什么? 为什么要有GC? 52 78、垃圾回收的...
同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...
javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing.border ...
031218_〖第12章:JAVA IO〗_实例操作—单人信息管理程序笔记.pdf 031219_〖第12章:JAVA IO〗_实例操作:投票程序笔记.pdf 031301_【第13章:Java类集】_认识类集、Collection接口笔记.pdf 031302_【第13章:Java类...
javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing.border ...
javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing....
第3章 数据类型和运算符 38 3.1 注释 39 3.1.1 单行注释和多行注释 39 3.1.2 文档注释 40 学生提问:API文档是什么? 40 学生提问:为什么要掌握查看API文档的方法? 42 3.2 标识符和关键字 45 3.2.1 分隔符 ...
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...