其他分享
首页 > 其他分享> > 递归(基础)

递归(基础)

作者:互联网

 

public class Dir16 {
/*
* 使用递归计算1-n之间的和
* */
    /**
     * 定义一个方法,使用送归计算1-n之间的和1+2+3+. ..+n
     * n+(n-1)+(n-2)+...+1
     * 已知:
     * 最大值:n
     * 最小值:1
     * 使用递归必领明确:
     *   1.递归的结束亲忤
     *     获取到1的时候结束
     *   2.递归的目的
     * 获取下—个被加的数字(n-1)
     */
    public static void main(String[] args) throws IOException {
        int s=sum(100);
        System.out.println(s);
    }
    public static int sum(int n){
//        获取到1的时候结束
        if (n==1){
            return 1;
        }
        //获取下—个被加的数字(n-1)
        return n+sum(n-1);
    }//1 2 3  100+99+98....+1

}



//递归计算5的阶乘
public static void main(String[] args) throws IOException {
int s=sum(5);
System.out.println(s);
}
public static int sum(int n){

if (n==1){
return 1;
}

return n*sum(n-1);
}
 

递归遍历文件夹中所有文件

        File file =new File("d:/Auser");
        getAllFile(file);//getAllFile:获取所有文件


    }

    /**
     * 定义一个方法,参数传递File类型的目录
     * 方法中对目录进行遍历
     * @param dir
     */
    public static void getAllFile(File dir){
        File[] files=dir.listFiles();
        for (File f :files){
            //对遍历得到的File对象f进行判断,是否是文件夹
            if (f.isDirectory()){
                //f是文件夹,这继续遍历这个文件夹
                //我们发现getAllFile方法就是传递文件夹,遍历文件夹得方法
                //所以直接调用getAllFile方法即可递归(自己调自己)
                getAllFile(f);
            }else {
                System.out.println(f);
            }
        }

 

标签:递归,int,sum,基础,文件夹,File,getAllFile,public
来源: https://www.cnblogs.com/Gu1015/p/14316567.html