前言
- 时间:2020.5.18
- 备注:太久没有认真打代码了,完成一个增删改查就开始感动了自己…
题目
实现思路
怕作业重复率太高就先不放上来啦~
----------------2020.6.13更----------------
根据题意,分成三个类。
- 测试类Main
分成两步走,尽可能简洁。
第一步输出菜单,第二步选择后通过Dao的方法实现功能。 - 实体对象的职工类Employee
主要放置了职工本体的基本私有属性,并加入自动生成的get,set,toString的方法,以便后面设置和使用参数时的调用。
包括:编号id,姓名name,性别sex,年龄age等。 - 实现功能的职工管理类EmployeeDao
分功能模块实现。
包括:
(1) 增加一个职工;
(2) 根据职工号删除某位职工;
(3) 根据职工号修改职工的某些信息;
(4) 将所有职工年龄增加一岁;
(5) 将数组中顺序显示所有职工信息;
(6) 将所有职工按姓名排序输出。
其中:
1为input()增加方法。
2为delete()删除方法。
3、4合并为update()修改方法。
5、6合并为output()查询方法。
另外增加一个sort(Employee[] e)排序算法,用于顺序输出。
注意点:
Dao中直接使用Employee[] e = new Employee[10000];中的e时,特别容易出现空指针问题,有时需要加个临时的Employee employee = new Employee(id,name,sex,age);赋值来实现。(在录入和修改中都有用到。)
实现代码
1. Main.java
package exp_04;
import exp_04.dao.EmployeeDao;
import java.util.Scanner;
import static java.lang.System.exit;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
EmployeeDao employeeDao = new EmployeeDao();
while (true){
System.out.println("************ 职工信息管理系统 ************");
System.out.println("1.录入 2.删除 3.修改 4.输出 0.退出");
System.out.println("*****************************************");
System.out.print("请选择:");
int key = scan.nextInt();
switch (key){
case 1: // 录入
employeeDao.input();
break;
case 2: // 删除
employeeDao.delete();
break;
case 3: // 修改
employeeDao.update();
break;
case 4: // 输出
employeeDao.output();
break;
case 0:
exit(0);
break;
default:
break;
}
}
}
}
2. Employee.java
package exp_04.javabean;
public class Employee {
private String id;
private String name;
private String sex;
private int age;
static int num; //表示数组的真实大小
public Employee(){
}
public Employee(String id, String name, String sex,