public classSwater{public static voidmain(String []args){
Print print= newPrint();
print.out();
}
}//打印类
classPrint{public voidout(){
Department dep1= new Department(122,"技术部","开发工程师");//第一个部门
Department dep2 = new Department(123,"运维部","Hadoop工程师");//第二个部门
Department dep3 = new Department(124,"人事部","会计师");//第三个部门
Employee e1 = new Employee(001,"张三",6000.0);//第一个员工
Employee e2 = new Employee(002,"李四",7000.0);//第二个员工
Employee e3 = new Employee(003,"王五",10000.0);//第二个员工
e1.setLeader(e2);//雇员与领导
e2.setLeader(e3);//雇员与领导
e1.setLeader(e3);//雇员与领导
e1.setDepartment(dep1);//雇员与部门
e2.setDepartment(dep2);//雇员与部门
e3.setDepartment(dep3);//雇员与部门//根据部门找到所有的雇员以及每个雇员的领导信息
dep1.setEmployee(new Employee[]{e1,e2});//部门与雇员
dep2.setEmployee(new Employee[]{e3,e2});//部门与雇员
dep3.setEmployee(new Employee[]{e1,e2,e3});//部门与雇员
System.out.print(e1.getInfo());//通过雇员1找到部门、领导 的信息
System.out.print("===部门==领导====\n");
System.out.print(e1.getLeader().getInfo());
System.out.print(e1.getDepartment().getInfo());
System.out.println();
System.out.print(e2.getInfo());//通过雇员2找到部门、领导 的信息
System.out.print("===部门==领导====\n");
System.out.print(e2.getLeader().getInfo());
System.out.print(e2.getDepartment().getInfo());
System.out.println();
System.out.print(e3.getInfo());//通过雇员3找到部门的信息
System.out.print("===部门====\n");
System.out.print(e3.getDepartment().getInfo());
System.out.println();
System.out.print("--根据部门找到所有的雇员以及每个雇员的领导信息-\n");
System.out.print("------------------------------\n");
System.out.println(dep1.getInfo()) ;for(int i=0;i
System.out.print("|-"+dep1.getEmployee()[i].getInfo()+"");if(dep1.getEmployee()[i].getLeader()!=null){
System.out.print("|-"+dep1.getEmployee()[i].getLeader().getInfo());
}
}
System.out.print("--根据部门找到所有的雇员以及每个雇员的领导信息-\n");
System.out.print("------------------------------\n");
System.out.println(dep2.getInfo()) ;for(int j=0;j
System.out.print("|-"+dep1.getEmployee()[j].getInfo()+"");if(dep2.getEmployee()[j].getLeader()!=null){
System.out.print("|-"+dep2.getEmployee()[j].getLeader().getInfo());
}
}
System.out.print("--根据部门找到所有的雇员以及每个雇员的领导信息-\n");
System.out.print("------------------------------\n");
System.out.println(dep3.getInfo()) ;for(int k=0;k
System.out.print("|-"+dep3.getEmployee()[k].getInfo()+"");if(dep3.getEmployee()[k].getLeader()!=null){
System.out.print("|-"+dep3.getEmployee()[k].getLeader().getInfo());
}
}
}
}//部门 类
classDepartment{private int did;//部门编号
private String dname;//部门名字
private String dposition;//职位
private Employee []employee;//多个雇员
publicDepartment(){//无参构造方法
}public Department(intdid,String dname,String dposition){this.did=did;this.dname=dname;this.dposition=dposition;
}//部门下的雇员
public voidsetEmployee(Employee[] employee){this.employee=employee;
}publicEmployee[] getEmployee(){return this.employee;
}publicString getInfo(){return "部门编号-"+did+"\n部门-"+dname+"\n职位-"+dposition+"\n";
}
}//员工类
classEmployee{private int id;//工号
private String name;//姓名
private double salary;//薪水
private Department department;//雇员对应部门
privateEmployee Leader;publicEmployee(){//无参构造方法
}public Employee(int id,String name,doublesalary){this.id =id;this.name=name;this.salary=salary;
}//雇员的部门
public voidsetDepartment(Department department){this.department=department;
}publicDepartment getDepartment(){return this.department;
}//雇员的领导
public voidsetLeader(Employee Leader){this.Leader=Leader;
}publicEmployee getLeader(){return this.Leader;
}publicString getInfo(){return "雇员编号-"+id+"\n雇员姓名-"+name+"\n雇员薪水-"+" "+salary+"\n";
}
}