编程练习:数组对象 (1).部门类Department (2).员工类Employee (3).通过部门对象,查找该部门的雇员信息 (4). 通过雇员对象,查找该雇员所在的部门信息

  • 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();
	}
}

4.输出效果

部门2.部门3同理自定义

猜你喜欢

转载自blog.csdn.net/x4pp5/article/details/107571085