用递归实现从1+2+3+...+10

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);
	}
		
}







猜你喜欢

转载自blog.csdn.net/pjz161026/article/details/70654033
今日推荐