练习--使用递归计算阶乘和打印多级目录

练习--使用递归计算阶乘

public static void main(String[] args) {
        int jc = jc(5);
        System.out.println(jc);
    }
    /*
        定义方法使用递归计算阶乘
        5的阶乘:5! = 5*(5-1)*(5-2)*(5-3)*(5-4)=5*4*3*2*1递归结束的条件
        获取到1的时候结束递归的目的
         获取下一个被乘的数字(n总)

     */
    private static int jc(int n){
        //获取到1的时候结束
        if (n==1){
            return 1;
        }
        //获取下一个被乘的数字
        return n*jc(n-1);
    }

 

打印多级目录

 public static void main(String[] args) {
        File file = new File("D:\\EV");
        getAllFile(file);
    }

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

 

posted @ 2022-07-08 15:11  漁夫  阅读(32)  评论(0)    收藏  举报