import java.util.*;
import java.io.*;
public class EmpList {
public static void main(String[] args) throws Exception {
//定义一个员工管理对象
EmpManage em = new EmpManage();
//输入输出界面
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader bf = new BufferedReader(isr);
//界面原型
while(true) {
System.out.println("请选择你要进行的操作");
System.out.println("1:添加一名员工");
System.out.println("2:查找员工信息");
System.out.println("3:显示所有员工的信息");
System.out.println("4:修改薪水");
System.out.println("5:移除离职员工");
String opertiontype = bf.readLine();
//添加新员工
if(opertiontype.equals("1")) {
System.out.println("请输入员工号");
String empNo = bf.readLine();
System.out.println("请输入姓名");
String name = bf.readLine();
System.out.println("请输入薪水");
float sal = Float.parseFloat(bf.readLine());
Emp emp = new Emp(empNo, name,sal);
em.addEmp(emp);
}
//显示指定员工信息
else if(opertiontype.equals("2")) {
System.out.println("请输入员工号");
String empNo = bf.readLine();
em.showEmp(empNo);
}
else if(opertiontype.equals("3")) {
System.out.println("请输入薪水");
float sal = Float.parseFloat(bf.readLine());
System.out.println("请输入员工号");
String empNo = bf.readLine();
System.out.println("请输入薪水");
float sal = Float.parseFloat(bf.readLine());
em.update(empNo, sal);
}
else if(opertiontype.equals("4")) {
System.out.println("请输入员工号");
String empNo = bf.readLine();
em.delete(empNo);
}
else if(opertiontype.equals("5")) {
System.exit(0);
}
}
}
}
//定义一个员工类
class Emp {
private String empNo;
private String name;
private float sal;
public String getEmpNo() {
return empNo;
}
public void setEmpNo(String empNo) {
this.empNo = empNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getSal() {
return sal;
}
public void setSal(float sal) {
this.sal = sal;
}
//构造方法
public Emp(String empNo, String name, float sal) {
this.empNo = empNo;
this.name = name;
this.sal = sal;
}
}
//员工管理类
class EmpManage {
private ArrayList QQ = null;
//构造方法,构造方法的重要作用之一就是定义成员变量
public EmpManage() {
QQ = new ArrayList();
}
public void addEmp(Emp emp) {
QQ.add(emp);
}
//显示指定员工信息方法
public void showEmp(String empNo) {
for(int i = 0; i < QQ.size(); i++) {
Emp emp = (Emp)QQ.get(i);
if(emp.getEmpNo().equals(empNo)) {
System.out.println("员工号是" + empNo);
System.out.println("姓名是" + emp.getName());
System.out.println("薪水是" + emp.getSal());
}
}
}
//显示所有员工信息方法
public void showAll() {
for(int i = 0; i < QQ.size(); i ++) {
Emp emp = (Emp)QQ.get(i);
System.out.println("员工号是" + emp.getEmpNo());
System.out.println("姓名是" + emp.getName());
System.out.println("薪水是" + emp.getSal());
}
}
//改变员工的薪水方法
public void update(String empNo, float sal) {
for (int i = 0; i < QQ.size(); i++) {
Emp emp = (Emp)QQ.get(i);
if(emp.getEmpNo().equals(empNo)) {
emp.setSal(sal);
}
}
}
//删除离职员工信息的方法
public void delete(String empNo) {
for(int i = 0; i < QQ.size(); i ++) {
Emp emp = (Emp)QQ.get(i);
if (emp.getEmpNo().equals(empNo)) {
QQ.remove(emp);
}
}
}
}