zoukankan      html  css  js  c++  java
  • 76.递归

    递归:函数自身调用函数自身

    使用递归的前提是要有条件结束这个自身调用(不然会出现死循环)

    public class Demo1 {
        public static void main(String[] args) {
            File file = new File("D:\新建文件夹");
            System.out.println(print1(5));
            print2(file,"");
            myDelete(file);
        }
        
        //计算出5的阶层(5*4*3*2*1)
        public static int print1(int num) {
            if(num==1) {
                return 1;
            }else {
                return num*print1(num-1);
            }
        }
        
        //打印文件夹的路径
        public static void print2(File file,String str) {
            //根据传入的路径获取所有文件
            File[] allFile = file.listFiles();
            //根据是文件夹还是文件不同的处理
            for (File itemp : allFile) {
                if(itemp.isFile()) {
                    System.out.println(str+itemp.getName());
                }else if(itemp.isDirectory()) {
                    System.out.println(str+itemp.getName());
                    print2(itemp,"--"+str);
                }
            }
        }
        
        
        //因为delete只能删除一个空的文件夹,所以我们可以根据递归删除所有文件
        public static void myDelete(File file) {
            //根据传入的路径获取所有文件
            File[] allFile = file.listFiles();
            //根据是文件夹还是文件不同的处理
            for (File itemp : allFile) {
                if(itemp.isFile()) {
                    itemp.delete();
                }else if(itemp.isDirectory()) {
                    myDelete(itemp);
                }
                file.delete();
            }
        }
    }

  • 相关阅读:
    Lintcode423-Valid Parentheses-Easy
    Lintcode97-Maximum Depth of Binary Tree-Easy
    Lintcode175-Revert Binary Tree-Easy
    Lintcode469-Same Tree-Easy
    Leetcode480-Binary Tree Paths-Easy
    Lintcode481-Binary Tree Leaf Sum-Easy
    Lintcode482-Binary Tree Level Sum-Easy
    Lintcode376-Binary Tree Path Sum-Easy
    SQL
    Database
  • 原文地址:https://www.cnblogs.com/zjdbk/p/9121625.html
Copyright © 2011-2022 走看看