File—运用实例
递归(recursion):程序调用自身的编程技巧。
递归满足2个条件:
1)有反复执行的过程(调用自身)
2)有跳出反复执行过程的条件(递归出口)
1、删除给定的文件或目录
思路:
- 判断是否是目录,不是目录直接删除
- 如果是目录取出所有的子项
- 删除所有子项
package day01;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.RandomAccessFile;
/**删除给定的文件或目录
* 给定一个File对象,然后将其删除
* @author Administrator
*
*/
public class HomeWorkDemo {
public static void main(String[] args) throws FileNotFoundException {
File files=new File("aa");
deleteFile(files);
System.out.println("删除完成!");
}
private static void deleteFile(File files) {
//判断是否是目录,不是直接删除
if(files.isDirectory()){
//如果是目录,取出所有子项
File[] subs=files.listFiles();
//删除所有子项
for(File sub:subs){
deleteFile(sub);
}
}
files.delete();
}
}
2、1-100累加,不出现for ,while 等关键字
package day01;
public class HomeWorkDemo2 {
public static void main(String[] args) {
System.out.println(add(100));
}
/**
* 使用当前的数字累加其之前的每一个数字
* 直到1为止
*
*
* 递归:
* 1、首先考虑极端情况
* 2、每一种可能的情况是否都考虑了
* 3、方法内部遇到重复做的事,调用该方法即可
* (递归的调用)
* @param n
* @return
*/
public static int add(int n){
if(n==1){
return 1;
}else{
return n+add(n-1);
}
}
}