File类递归练习统计:
计算文件夹大小:

public static void main(String[] args) {
//需求:从键盘接收一个文件夹路径,统计该文件夹大小
File dir=getDir();
System.out.println(getFileLength(dir));
}
/*从键盘接收一个文件夹路径:*/
public static File getDir() {
// 1.创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个文件夹路径");
// 2.定义一个无限循环
while (true) {
String line = sc.nextLine();
// 3.将录入结果存储并封装成File对象
File dir = new File(line);
if (!dir.exists()) {
System.out.println("录入的文件夹路径不存在,请从新输入:");
} else if (dir.isFile()) {
System.out.println("你录入的是文件路径,请从新输入:");
} else {
//5.将文件夹路径对象返回
return dir;
}
}
}
public static long getFileLength(File dir) {
//1.定义一个求和对象
long len=0;
//2.获取该文件夹下的所有文件和文件夹listFile()
File [] subFiles =dir.listFiles();
//3.遍历数组
for (File subFile : subFiles) {
//4.判断是文件就计算大小并累加
if (subFile.isFile()) {
len=len+subFile.length();
//5.判断是文件夹,递归调用
}else {
len=len+getFileLength(subFile);
}
}
return len;
}
删除该文件夹:

public static void main(String[] args) {
//需求:从键盘接收一个文件夹路径,统计该文件夹大小
File dir=getDir();
deleteFile(dir);
}
/*从键盘接收一个文件夹路径:*/
public static File getDir() {
// 1.创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个文件夹路径");
// 2.定义一个无限循环
while (true) {
String line = sc.nextLine();
// 3.将录入结果存储并封装成File对象
File dir = new File(line);
if (!dir.exists()) {
System.out.println("录入的文件夹路径不存在,请从新输入:");
} else if (dir.isFile()) {
System.out.println("你录入的是文件路径,请从新输入:");
} else {
//5.将文件夹路径对象返回
return dir;
}
}
}
public static void deleteFile(File dir) {
//1.获取该文件夹下的所有文件和文件夹listFile()
File [] subilt =dir.listFiles();
//2.遍历数组
for (File file : subilt) {
//判断是文件夹直接删除
if(file.isFile()) {
file.delete();
//如果是文件夹,递归调用
}else {
deleteFile(file);
}
}
//循环结束后把空文件删除。
dir.delete();
System.out.println("删除成功");
}
求斐波那契数列:

//数组求斐波那契数列:
int [] arr=new int[12]; //相当于一年后
arr[0]= 1;
arr[1]= 1;
for (int i = 2; i < arr.length; i++) {
arr[i]=arr[i-2]+arr[i-1];
}
System.out.println(arr[arr.length-1]);
System.out.println(Fun(12));
}
// 用递归求斐波那契数列:
public static int Fun(int num) {
if (num ==1 || num==2) {
return 1;
}else {
return Fun(num-2)+Fun(num-1);
}
}
来源:https://www.cnblogs.com/feng0001/p/10971094.html
