1、用递归实现从1+2+3+...+10
public static void main(String[] args) {
int total = 0; //总和
total = sum(10);
System.out.println(total);
}
//用递归实现从1 + 2 + 3 +...+ 10
public static int sum(int n){
System.out.println(n);
if(n==1){
return n; //出口
}else{
return n + sum(n-1);
}
}
2、递归实现a+ (a+1) + (a+2) +...b 。其中a、b均为不小于1的整数,且b为所有加数的最大值
public static void main(String[] args) {
int total = 0; //总和
total = sum(5,10);
System.out.println(total);
}
//递归实现a+ (a+1) + (a+2) +...+ b //其中a、b均为不小于1的整数,且b为所有加数的最大值
public static int sum(int a, int b){
System.out.println(b);
if(a==b){
return a; //出口
}else{
return b + sum(a, b-1);
}
}
3、删除指定目录(包含该目录下的所有子目录和文件)
public static void main(String[] args) {
delete(dir);
}
/**
* 将给定的File表示的文件和目录删除的方法
*/
public static void delete(File dir){
if(dir.isDirectory()){ //判断dir是否为目录,若是文件则直接删除
File[] subs = dir.listFiles(); //获取dir目录下所有目录和文件的名字的数组
for(File sub : subs){ //遍历dir目录,并获取dir目录下所有内容的名字
delete(sub); //递归调用(当目录为空时,即为出口)
}
dir.delete(); //删除目录
System.out.println("删除目录:"+dir);
}else{
dir.delete(); //删除文件
System.out.println("删除文件:"+dir);
}
}