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值都打印出来该怎么写?
急用,有那位知道帮帮忙,谢谢跪求递归算法解题
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值都打印出来该怎么写?
急用,有那位知道帮帮忙,谢谢跪求递归算法解题
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);
}
}大概是这样子。
样式可以自己去调。