1.递归是一种常见的算法思路,在很多算法中都会用到。比如:深度优先搜素(DFS)等 2.递归的基本思想就是“调用自己”。 递归结构包括两个部分: 1.定义递归头。解决:什么时候不能调用自身方法。如果没有头,将陷入死循环,也就是递归 的结束条件。 2.递归体。解决:什么时候需要调用自身方法。 ?
package com.itbaizhan;
import java.io.File;
//打印目录树,结合递归
public class PrintFileTree {
public static void main(String[] args) {
// File f=new File("D:\\KuGou");
File f=new File(System.getProperty("user.dir"));
printFile(f,0);
}
static void printFile(File file,int level){
for(int i=0;i<level;i++){
System.out.print("-");
}
//输出文件
System.out.println(file.getName());
if(file.isDirectory()){
File[] files = file.listFiles();
//列出他的所有子文件,子目录
for(File temp:files){
printFile(temp,level+1);
}
}
}
}
|