zoukankan      html  css  js  c++  java
  • 递归

    递归:

         就是函数自身调用自身

    事实上全部的递归问题都能够看成是阶层问题

    所要解决的整个问题(整个递归函数)看成是 f(n).在这个递归函数中要做到例如以下几点:

      1.写出递归的出口
      2.解决当前要解决的问题-----相当与阶层问题中的(n)
      3.递归下去(调用自身)解决同样的但规模要小的又一问题-----相当于f(n-1)

    递归要注意:


    1、限制条件
    2、要注意递归次数,避免内存溢出

    举例说明:列出指定文件夹下文件或者文件夹,包括子文件夹中的内容

    import java.io.*;
    import java.util.*;


    public class Test1 {


    /**
    * 将一个指定文件夹下的java 文件的绝对路径存储到一个文本文件里,建立一个java 文件列表文件
    * 思路:
    * 1.由于文件夹下可能还有文件夹,所以要用到递归
    * 2.获取递归过程中全部java 文件的路径
    * 3.将这些路径存储到集合中
    * 4.将集合中的数据写入到一个文本中
    */

    public static void main(String[] args)throws IOException {
    File   dir=new File("c:\Users\Administrator\Desktop\黑马代码\day08");
    List<File>  list=new ArrayList<File>();//建立一个集合

    filetolist(dir,list);
    File  file=new File(dir,"javalist.txt");//建立一个java 文件列表文件
    writetofile(list,file.toString());
    System.out.println(list.size());

    }


    public static void writetofile(List<File> list,String javalistfile)throws IOException {
    BufferedWriter  bufw=null;
    try {
    bufw=new BufferedWriter(new FileWriter(javalistfile));
    for (File file : list) {
    String path=file.getAbsolutePath();
    bufw.write(path);
    bufw.newLine();
    bufw.flush();
    }
    } catch (IOException e) {

    e.printStackTrace();
    }
    finally{

    try {
    if (bufw!=null) {
    bufw.close();}
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    }


    public static void filetolist(File dir,List<File> list) {
    File[]  files=dir.listFiles();

    for (File file : files) {

    if (file.isDirectory()) {

    filetolist(file,list);//运用递归
    System.out.println(file);
    }else {
    if (file.getName().endsWith(".java")) {

    list.add(file);
    }
    }
    }

    }



    }


  • 相关阅读:
    注释总结
    C# Notes
    坑爹的Honor10开热点
    用热得快烧洗澡水
    跳转语句
    台湾书籍代购网址——2013-08-25 16
    【转】cocos2d-x 模仿计时器效果,动态增加分数——2013-08-25 16
    【转】C/C++中的日期和时间 TIME_T与STRUCT TM转换——2013-08-25 16
    【转】Cocos2d-x 2.0 拖尾效果深入分析
    cocos2d-x之CCMotionStreak类——2013-08-25 16
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6914067.html
Copyright © 2011-2022 走看看