方法递归就是方法自己调用自己 2.死递归: 永不休止的自己调用自己
想进行正常的递归操作必须找递归调用的出口
为了找出规律,假设求1到5的和
找出口 sum(1) = 1
if(n == 1){ return 1; }
public static void method(int num) {
System.out.println(num);
num--;
method(num);
}
正常递归: 递归次数不宜过多,可以正常结束
public static void method(int num) {
System.out.println(num);
num--;
if(num == 0) {
return ;
}
method(num);
}
public class Demo05DiGuiSum {
public static void main(String[] args) {
int result = sum(4);
System.out.println(result);
}
public static int sum(int n) {
if (n == 1) {
return 1;
}
return n + sum(n-1);
}
}
###递归获取文件夹下所有文件
遍历 day11_xw\io 目录下的所有文本文件(包含子文件夹)
实现步骤:
1.创建File对象,代表存在的文件目录
2.定义方法printNames方法,作用递归打印文本文件的名字
3.调用printNames方法,传递步骤1中的File对象
*/
public class Demo03EachTxtFiles {
public static void main(String[] args) {
File dir = new File("day11_xw\\io");
printNames(dir);
}
public static void printNames(File dir) {
File[] files = dir.listFiles();
if (files != null && files.length > 0) {
for (File file : files) {
if(file.isFile()) {
if (file.xiaoFeiName().toLowerCase().endsWith(".txt")) {
System.out.println(file.xiaoFeiName());
}
} else {
printNames(file);
}
}
}
}
}