1.是输出指定文件目录下的所以子目录以及文件

2.使用递归算算法:1!+2!+3!+4!+5!+…+n!(计算阶乘累加)

package com.bjsxt.recurison;

import java.io.File;
import java.util.Scanner; public class TestRecurison { public 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 [] listFiles =file.listFiles();
for (File temp : listFiles) {
printFile(temp, level+1);
}
}
} //n!的递归算法
static long TR(int n) {
if (n==1) {
return 1;
}else {
return n*TR(n-1);
}
}
public static void main(String[] args) { File f=new File("F:\\****\\项目");
printFile(f, 0); long sum=0;
Scanner input=new Scanner(System.in);
System.out.println("请输入一个大于0的整数:");
int nextInt = input.nextInt();
//将每次的阶乘累加起来赋值给sum
for (int n= 1; n <=nextInt; n++) {
sum=sum+TR(n);
}
System.out.println(nextInt+"的累加阶乘是:\n"+sum);
}
}

Java修炼——递归算法的俩个实例-LMLPHP

Java修炼——递归算法的俩个实例-LMLPHP

05-11 18:24