省市县的递归用java怎么写
时间: 2023-07-05 20:18:51 浏览: 117
省市县递归函数
省市县的递归实现可以用Java语言来编写。以下是一个简单的示例代码:
```java
public class RecursionDemo {
// 定义一个省市县的数据结构,包含名称和下级地区列表
static class Area {
String name;
List<Area> subAreas;
public Area(String name, List<Area> subAreas) {
this.name = name;
this.subAreas = subAreas;
}
}
// 递归函数,用于输出省市县的名称
static void printAreaNames(Area area) {
System.out.println(area.name);
if (area.subAreas != null) {
for (Area subArea : area.subAreas) {
printAreaNames(subArea);
}
}
}
public static void main(String[] args) {
// 初始化省市县数据
Area county1 = new Area("县1", null);
Area county2 = new Area("县2", null);
Area city1 = new Area("市1", Arrays.asList(county1, county2));
Area city2 = new Area("市2", null);
Area province = new Area("省", Arrays.asList(city1, city2));
// 输出省市县的名称
printAreaNames(province);
}
}
```
在上面的示例代码中,我们首先定义了一个`Area`类来表示省市县的数据结构,包含名称和下级地区列表。然后定义了一个`printAreaNames`函数来递归输出省市县的名称,如果当前地区有下级地区,则继续递归输出下级地区的名称。最后在`main`函数中初始化了一个省市县的数据结构,并调用`printAreaNames`函数输出了所有地区的名称。
阅读全文