Java基础-基于List集合的简单员工管理系统
这里有对员工的查询功能,添加员工功能,修改员工信息功能,删除员工功能。
这里还利用面向对象的思想将每个模块和测试类分开,将员工集合也单独分离出来变成一个类利于维护。
1.创建员工实体类:
public class Emp {
private String id; //员工编号
private String name;//员工姓名
private Integer age; //员工年龄
private String sex; //员工性别
public Emp(String id, String name, Integer age, String sex) {
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
}
public Emp() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Emp{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
}
2.初始化员工集合
public class EmpList {
public static List<Emp> initEmp(){
ArrayList<Emp> emps = new ArrayList<Emp>();
emps.add(new Emp("001","大龙",30,"男"));
emps.add(new Emp("002","二龙",31,"男"));
return emps;
}
}
3.对员工操作的业务类:
public class EmpManage {
private Scanner scanner=new Scanner(System.in);
/*查询所有员工的方法*/
public void selectEmp(List<Emp> emps){
System.out.println("员工编号\t员工姓名\t员工性别\t员工年龄");
for (Emp emp : emps) {
System.out.println(emp.getId()+"\t"+emp.getName()+"\t"+emp.getSex()+"\t"+emp.getAge());
}
}
/*添加员工方法*/
public void addEmp(List<Emp> emps){
System.out.print("请输入要添加的员工编号:");
while (true){
String id = scanner.next();
Emp emp = findEmpById(emps, id);
if(emp==null){
System.out.print("输入添加员工的姓名:");
String name = scanner.next();
System.out.print("输入添加员工的性别:");
String sex = scanner.next();
System.out.print("输入添加员工的年龄:");
int age = scanner.nextInt();
emps.add(new Emp(id,name,age,sex));
System.out.println("添加成功");
break;
}else{
System.out.print("员工已经存在,重新输入员工编号:");
}
}
}
/*利用id查询员工方法*/
public Emp findEmpById(List<Emp> emps,String id){
for (Emp emp : emps) {
if(emp.getId().equals(id)){
return emp;
}
}
return null;
}
/*修改员工*/
public void upEmp(List<Emp> emps){
System.out.print("输入需要修改的员工id:");
while (true) {
String id = scanner.next();
Emp emp = findEmpById(emps, id);
if(emp!=null){
System.out.print("输入修改的姓名:");
String name = scanner.next();
System.out.print("输入修改的性别:");
String sex = scanner.next();
System.out.print("输入修改的年龄:");
int age = scanner.nextInt();
emp.setName(name);
emp.setSex(sex);
emp.setAge(age);
System.out.println("修改成功!");
break;
}else{
System.out.print("员工不存在,请重新输入员工编号:");
}
}
}
/*删除员工*/
public void delEmp(List<Emp> emps){
System.out.print("请输入需要删除的员工编号:");
while (true){
String id = scanner.next();
Emp emp = findEmpById(emps,id);
if(emp!=null){
emps.remove(emp);
break;
}else{
System.out.print("没有此员工,请重新输入员工编号:");
}
}
}
}
4.测试类
public class Test {
public static void main(String[] args) {
EmpManage empManage = new EmpManage();
List<Emp> emps = EmpList.initEmp();
while (true){
System.out.println("1,员工列表 2,新增员工 3,修改员工 4,删除员工 5.退出");
System.out.print("请输入要选择的菜单对于的编号:");
Scanner scanner = new Scanner(System.in);
String choose = scanner.next();
System.out.println("************");
if(choose.equals("1")){
empManage.selectEmp(emps);
}else if(choose.equals("2")){
empManage.addEmp(emps);
}else if(choose.equals("3")){
empManage.upEmp(emps);
}else if(choose.equals("4")){
empManage.delEmp(emps);
}else{
System.out.println("退出系统,欢迎下次使用!");
break;
}
System.out.println("************");
}
}
}
运行结果:
查询模块:
添加模块:
修改员工信息
删除员工:
退出