- 1.定义一个标准的部门类Department 成员变量有:部门编号DepNo,部门名称DepName,部门位置DepLoc,部门的人数emps(一个装员工 对象的数组)
成员方法有:get/set方法,以及查询信息getInfo()的方法 - 2.定义一个标准的员工类Employee 成员变量有:雇员编号EmpNo,名称EmpName,工资EmpSalry,所在部门dep(部门对象)
成员方法有:get/set方法,以及查询信息getInfo()的方法 - 3.创建一个测试类
a. 创建部门对象,先有部门,再有雇员,所以Department构造方法里,是没有雇员的
b. 创建员工对象,先有部门,再有雇员,所以Employee构造方法里,是有部门信息的
c. 通过部门对象的set方法,把员工数组设置到部门中去
d. 通过部门对象,查找该部门的雇员信息
e. 通过雇员对象,查找该雇员所在的部门信息
1.定义一个标准的部门类Department
- 成员变量有:部门编号DepNo,部门名称DepName,部门位置DepLoc,部门的人数emps(一个装员工 对象的数组)
- 成员方法有:get/set方法,以及查询信息getInfo()的方法
public class Department {
private int DepNo;
private String DepName;
private String DepLoc;
private Employee[] emps ;
public String getInfo() {
String ret = "部门编号:" + DepNo + " 名称:" + DepName + " 位置:" + DepLoc + " 部门人数:" + emps.length + "\r\n";
for (int i = 0; i < emps.length; i++) {
ret += "雇员:" + emps[i].getEmpName() + " 编号:" + emps[i].getEmpNo() + " 薪水:" + emps[i].getEmpSalry() + "\r\n";
}
return ret;
}
2.定义一个标准的员工类Employee
- 成员变量有:雇员编号EmpNo,名称EmpName,工资EmpSalry,所在部门dep(部门对象)
- 成员方法有:get/set方法,以及查询信息getInfo()的方法
public class Employee {
private int EmpNo;
private String EmpName;
private double EmpSalry;
private Department dep;
public String getInfo() {
//dep为部门对象名
return "雇员编号:" + EmpNo + " 名称:" + EmpName + " 所属部门:" + dep.getDepName() + " 薪水:" + EmpSalry;
}
3. 创建一个测试类
a. 创建部门对象,先有部门,再有雇员,所以Department构造方法里,是没有雇员的
b. 创建员工对象,先有部门,再有雇员,所以Employee构造方法里,是有部门信息的
c. 通过部门对象的set方法,把员工数组设置到部门中去
public class WorkText {
public static void main(String[] args) {
//先创一个部门dep1,先有部门,再有雇员,Department构造方法里参数只有部门编号、名称、位置,没有雇员
Department dep1 = new Department(3,"技术部","香港");
//创建员工对象,先有部门,再有雇员,所以Employee构造方法里,是有部门信息的
Employee emps1 = new Employee(3721, "刘德华", 3333,dep1);
Employee emps2 = new Employee(3824, "谢霆锋", 3330,dep1);
Employee emps3 = new Employee(3927, "李连杰", 3300,dep1);
//创建员工数组
Employee[] emps = {emps1,emps2,emps3};
//通过部门对象的set方法,把员工数组设置到部门中去
dep1.setEmps(emps);
//调用部门dep1的getInfo展示方法
System.out.println(dep1.getInfo());
d. 通过部门对象,查找该部门的雇员信息
e. 通过雇员对象,查找该雇员所在的部门信息
//通过部门对象,查找该部门的雇员信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入部门编号或部门名称:");
String key = sc.next();
switch (key) {
case "3":
case "技术部":
System.out.println(dep1.getInfo());
//在此位置也可插入判断逻辑,通过雇员对象(输入雇员编号或名称),查找该雇员所在的部门信息。
break;
case "6":
case "销售部":
System.out.println(dep2.getInfo());
break;
case "9":
System.out.println(dep3.getInfo());
case "运营部":
System.out.println(dep3.getInfo());
break;
default:
System.out.println("此部门不存在!");
break;
}
//eg:雇员信息输出
System.out.println(emps1.getInfo());
System.out.println(emps2.getInfo());
System.out.println(emps3.getInfo());
sc.close();
}
}