zoukankan      html  css  js  c++  java
  • 递归

    递归

      递归,就是在当前方法内调用自己的这种现象,也可以调用别的方法。

      实例:

        1.斐波那契数列的兔子  

    1 public static int rabbit(int n){
    2         if(n==1){
    3             return 1;
    4         }
    5         if(n==2){
    6             return 1;
    7         }
    8         return rabbit(n-1)+rabbit(n-2);
    9     }

        2. 遍历一个目录下所有文件夹和文件

          先定义一个类继承FilenameFilter过滤器接口:MyFilter.java 来判断是否有文件夹和文件

          然后获取该目录下所有文件和文件夹的File数组

          开始遍历,如果该file是文件夹则继续递归找到下一级的所有文件和文件夹,如果是文件直接打印输出

        部分代码展示:

    public static void get(File path){
            //获取该目录下所有文件和文件夹的File数组
            File[] files=path.listFiles(new MyNameFilter());
            //遍历
            for(File file:files){
                //如果该file是文件夹则继续递归找到下一级的所有文件和文件夹
                if(file.isDirectory()){
                    get(file);
                }else{
                    //如果是文件直接打印输出
                    System.out.println(file);
                }
            }
        }
    
    
    //MyFilter.java
    public boolean accept(File pathname) {
            //long length=pathname.length();
            if(pathname.isDirectory()){
                return true;
            }
            //return pathname.length()>200*1024;
            return pathname.getName().toLowerCase().endsWith(".txt");
        }

        

  • 相关阅读:
    博客作业06--图
    博客作业05--查找
    博客作业04--树
    博客作业03--栈和队列
    博客作业2---线性表
    博客作业01-抽象数据类型
    C语言最后一次博客作业
    C语言第十次博客作业--结构体
    C语言第九次博客作业--指针
    C语言第八次博客作业--字符数组
  • 原文地址:https://www.cnblogs.com/zhai113/p/11718922.html
Copyright © 2011-2022 走看看