package com.cnxunao.test;import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;public class Department { private int id;
private String name; // 部门名称
private Department parent; // 上级部门
private Set<Department> children = new HashSet<Department>(); // 下级部门 public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Department getParent() {
return parent;
} public void setParent(Department parent) {
this.parent = parent;
} public Set<Department> getChildren() {
return children;
} public void setChildren(Set<Department> children) {
this.children = children;
} public String toString() {
StringBuilder sBuilder = new StringBuilder();

return sBuilder.toString();
}

public static void main(String[] args) {
Department generalManager = new Department();
generalManager.setName("总经理");

Department finance = new Department();
finance.setName("财务部");

Department technology = new Department();
technology.setName("技术中心");

Department personnel = new Department();
personnel.setName("人事部");

Department qa = new Department();
qa.setName("QA");

Department product = new Department();
product.setName("产品");

Department laboratory = new Department();
laboratory.setName("实验室");

Department design = new Department();
design.setName("设计");

Set<Department> children = generalManager.getChildren();
children.add(personnel);
children.add(technology);
children.add(finance);

children = technology.getChildren();
children.add(qa);
children.add(laboratory);
children.add(product);

children = product.getChildren();
children.add(design);

System.out.println(generalManager.toString());
}}
用递归算法把总经理,财务部,人事部等Department的name值都打印出来该怎么写?
急用,有那位知道帮帮忙,谢谢跪求递归算法解题

解决方案 »

  1.   


     public static void printDept(Department  dept){
            System.out.println("deptname:"+dept.getName());
            child_dept_list = dept.getChildren();
            for (dept in child_dept_list){
                 printDept(dept);
            }
            
     }大概是这样子。
    样式可以自己去调。