java 实现递归查询上级部门
时间: 2023-09-08 14:12:39 浏览: 213
你可以使用递归来实现查询上级部门的功能。假设你有一个部门类 `Department`,其中包含一个属性 `parent` 表示上级部门。你可以按照以下步骤进行递归查询:
1. 首先,定义一个方法,例如 `findSuperiorDepartment`,该方法接收一个部门对象作为参数。
2. 在方法内部,判断当前部门是否存在上级部门。如果不存在,说明已经到达最高级部门,直接返回。
3. 如果存在上级部门,递归调用 `findSuperiorDepartment` 方法,并将上级部门作为参数传入。
4. 在递归调用中,可以将上级部门打印出来或者保存到一个列表中,以便后续使用。
以下是一个简单的 Java 示例代码:
```java
class Department {
private String name;
private Department parent;
public Department(String name, Department parent) {
this.name = name;
this.parent = parent;
}
// getter and setter methods
public void findSuperiorDepartment(Department department) {
if (department.getParent() == null) {
System.out.println("Reached the highest level department.");
return;
}
Department superiorDepartment = department.getParent();
System.out.println("Superior department: " + superiorDepartment.getName());
findSuperiorDepartment(superiorDepartment);
}
}
public class Main {
public static void main(String[] args) {
Department d1 = new Department("Department 1", null);
Department d2 = new Department("Department 2", d1);
Department d3 = new Department("Department 3", d2);
d3.findSuperiorDepartment(d3);
}
}
```
在上面的示例中,我们创建了三个部门对象,并将它们连接起来形成一个部门树。然后,我们调用 `findSuperiorDepartment` 方法来递归查询上级部门,并打印出结果。注意要先传入最底层的部门对象。
阅读全文