美文网首页
递归的解析和使用

递归的解析和使用

作者: 早点起床晒太阳 | 来源:发表于2020-10-02 09:31 被阅读0次

    一个方法调用自身的方法称之为递归,常用的两种递归就是阶乘和删除目录了(包括流的拷贝,这块不讲)

    阶乘

    算阶乘需要有一个终止边界,终止边界就是=1 的时候,这块直接上代码

        public static int getJieCheng(int a){
            if (a==1){
                return 1;
            }else{
                return a*getJieCheng(a-1);
            }
        }
    
    删除path下面的所有文件和目录

    递归删除的顺序

    我这块直接使用这个参考的截图相关
    参考文档:https://blog.csdn.net/weixin_34087307/article/details/93729906

    image.png

    1、判断file为不为空的文件夹,到2
    2、判断subfile1为不为空的文件夹,到3
    3、判断srf1为文件,删除自己,到4
    4、判断sf2为空文件夹,删除自己,到5
    5、此时subfile1中所有内容都已删除为空,subfile1删除自己,到6
    6、subfile2不为空文件夹,到7
    7、slf为文件,删除自己,到8
    8、subfile2为空文件夹,删除自己,到9
    9、此时根目录file已经为空文件夹了,再删除自己。至此,所有文件和文件夹删除完毕

    相关代码

      public static boolean deleteFile(String path) {
            File file = new File(path);
            if (file.isDirectory()) {
                for (File f : file.listFiles()) {
                    if (f.isDirectory()) {
                        boolean success = deleteFile(f.getPath());
                        if (!success){
                            return false;
                        }
                    }
                    f.delete();
                }
            }
            return file.delete();
        }
    

    相关文章

      网友评论

          本文标题:递归的解析和使用

          本文链接:https://www.haomeiwen.com/subject/rihbuktx.html