zoukankan      html  css  js  c++  java
  • (26)递归

    比较简单的地柜例子就是递归求阶乘,这里使用输出目录结构作为例子,下面其实就是若干个例子:

    递归:函数直接或者间接的调用函数自身。

    递归的使用前提:必须要有条件的情况下调用,否则就是一个死循环

    需求:流出一个文件夹的子孙文件和目录.

    需求:流出目录结构。第一级0个空格,第二级2个空格,类推

    需求:列出目录的属性结构

    需求4:删除一个非空的文件夹。

     1 //删除一个非空的文件夹
     2     public static void deleteDir(File dir)
     3     {
     4         File[] files = dir.listFiles();    //列出所有子文件
     5         for (File file : files)
     6         {
     7             if(file.isFile())
     8             {
     9                 file.delete();
    10             }
    11             else if(file.isDirectory())
    12             {
    13                 deleteDir(file);
    14             }
    15         }
    16         dir.delete();
    17     }
    18     
    19     
    20     //用空格表示出目录结构
    21     public static void listFiles3(File dir, String space)    //space 存储的是空格
    22     {
    23         File[] files = dir.listFiles();    //列出所有的子文件
    24         for (File file : files)
    25         {
    26             if(file.isFile())
    27                 System.out.println(space+file.getName());
    28             else if(file.isDirectory())
    29             {
    30                 System.out.println(space+file.getName());
    31                 listFiles3(file, "|   "+space);
    32             }
    33         }
    34     }
    35     
    36     
    37     //用空格表示出目录结构
    38     public static void listFiles2(File dir, String space)    //space 存储的是空格
    39     {
    40         File[] files = dir.listFiles();    //列出所有的子文件
    41         for (File file : files)
    42         {
    43             if(file.isFile())
    44                 System.out.println(space+file.getName());
    45             else if(file.isDirectory())
    46             {
    47                 System.out.println(space+file.getName());
    48                 listFiles2(file, space+"  ");
    49             }
    50         }
    51     }
    52     
    53     //递归的列出 子孙文件和目录
    54     public static void listFiles1(File dir)    //space 存储的是空格
    55     {
    56         File[] files = dir.listFiles();    //列出所有的子文件
    57         for (File file : files)
    58         {
    59             if(file.isFile())
    60                 System.out.println("文件名:"+file.getName());
    61             else if(file.isDirectory())
    62             {
    63                 System.out.println("文件夹:"+file.getName());
    64                 listFiles1(file);
    65             }
    66         }
  • 相关阅读:
    最全的项目
    最全的liunx系统修改root用户密码
    最全docker安装步骤
    最全的ideal 常 用 的 快 捷
    最全的ideal 常用的快捷
    ftp路径
    站点路径
    sublime text3 切换中文方法
    UI设计: PS 快捷键 Ctrl+Shift+alt+T,旋转复制
    SQL中表与表的简单关系
  • 原文地址:https://www.cnblogs.com/OliverZhang/p/6026759.html
Copyright © 2011-2022 走看看