java 实现 父子部门的人数 ,父部门人数 为各子部门人数总和
时间: 2023-11-28 19:50:51 浏览: 73
快速了解Vue父子组件传值以及父调子方法、子调父方法
可以使用树形数据结构来表示部门结构,每个节点表示一个部门,包括部门名、部门人数和子部门列表。然后从根节点开始遍历整个树,统计每个节点的人数,并将其加到其父节点的人数中。具体实现可以参考以下代码:
```java
class Department {
String name; // 部门名
int count; // 部门人数
List<Department> children; // 子部门列表
public Department(String name, int count) {
this.name = name;
this.count = count;
this.children = new ArrayList<>();
}
public void addChild(Department child) {
children.add(child);
}
public int getTotalCount() {
int totalCount = count;
for (Department child : children) {
totalCount += child.getTotalCount();
}
return totalCount;
}
}
public class DepartmentCount {
public static void main(String[] args) {
Department root = new Department("总公司", 0);
Department dep1 = new Department("研发部", 10);
Department dep2 = new Department("销售部", 20);
Department dep3 = new Department("市场部", 15);
root.addChild(dep1);
root.addChild(dep2);
root.addChild(dep3);
Department dep11 = new Department("前端组", 5);
Department dep12 = new Department("后端组", 5);
dep1.addChild(dep11);
dep1.addChild(dep12);
System.out.println(root.getTotalCount()); // 输出总公司人数
}
}
```
在这个例子中,我们创建了一个根节点表示总公司,它包含三个子节点表示研发部、销售部和市场部。研发部又包含前端组和后端组两个子部门。调用根节点的 `getTotalCount()` 方法可以得到总公司的人数,该方法会递归遍历整个树,统计每个节点的人数。
阅读全文