利用集合实现员工信息管理:
员工类(父类):
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;
}
}
}
}
如有考虑不全,尽情谅解。