zoukankan      html  css  js  c++  java
  • 递归

    递归

    注意:

    • 递归不能没有结束条件,否则就会在栈内存中一直调用自己,这个方法就会一直压入栈空间出现栈内存异常溢出的异常
    • 递归的次数也不能太多,否则也会出现栈内存溢出
    • 构造方法禁止使用递归,编译报错,构造方法是创建对象的,一直递归回导致内存中有无数对象

    下面是递归计算累加的例子:

    递归遍历获取文件

    package cn.zhuobo.day13.recurison;
    
    import java.io.File;
    
    public class Demo01Recurison {
        public static void main(String[] args) {
            File file = new File("/home/zhuobo/Desktop/a");
            getAllFile(file);
        }
    
        public static void getAllFile(File dir) {
            System.out.println(dir);// 打印要遍历的问价夹
            File[] files = dir.listFiles();
            for (File file : files) {
                if(file.isDirectory()) {// 如果十个目录,那么就递归接着遍历
                    getAllFile(file);
                }
                else {
                    // 获取其中以txt结尾的文件
                    //System.out.println(file);
                    String name = file.getName();
    //                String name = file.getPath();
    //                String name = file.toString();
                    if(name.endsWith(".txt")){
                        System.out.println(file);
                    }
                }
            }
        }
    }
    

    a目录的文件:

    运行结果

    /home/zhuobo/Desktop/a/c/c.txt
    /home/zhuobo/Desktop/a/b/b.txt
    /home/zhuobo/Desktop/a/a.txt
    
  • 相关阅读:
    MOOK学习
    寒假学习计划
    三位影响深刻的老师
    软工第三次作业-结对作业
    2018软工实践第二次作业
    2018软工实践第一次作业
    简单的自我介绍
    福大软工1816 · 第一次作业
    课程作业八
    课程作业七
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10651066.html
Copyright © 2011-2022 走看看