博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
76.递归
阅读量:4987 次
发布时间:2019-06-12

本文共 1326 字,大约阅读时间需要 4 分钟。

递归:函数自身调用函数自身

使用递归的前提是要有条件结束这个自身调用(不然会出现死循环)

public class Demo1 {    public static void main(String[] args) {        File file = new File("D:\\新建文件夹");        System.out.println(print1(5));        print2(file,"");        myDelete(file);    }        //计算出5的阶层(5*4*3*2*1)    public static int print1(int num) {        if(num==1) {            return 1;        }else {            return num*print1(num-1);        }    }        //打印文件夹的路径    public static void print2(File file,String str) {        //根据传入的路径获取所有文件        File[] allFile = file.listFiles();        //根据是文件夹还是文件不同的处理        for (File itemp : allFile) {            if(itemp.isFile()) {                System.out.println(str+itemp.getName());            }else if(itemp.isDirectory()) {                System.out.println(str+itemp.getName());                print2(itemp,"--"+str);            }        }    }            //因为delete只能删除一个空的文件夹,所以我们可以根据递归删除所有文件    public static void myDelete(File file) {        //根据传入的路径获取所有文件        File[] allFile = file.listFiles();        //根据是文件夹还是文件不同的处理        for (File itemp : allFile) {            if(itemp.isFile()) {                itemp.delete();            }else if(itemp.isDirectory()) {                myDelete(itemp);            }            file.delete();        }    }}

 

 

转载于:https://www.cnblogs.com/zjdbk/p/9121625.html

你可能感兴趣的文章
python之装饰器
查看>>
NIO-3网络通信
查看>>
系统短信库的一些用法
查看>>
日志管理
查看>>
js常见正则表达式验证及方法(一)
查看>>
IOS开发 Missing submodule 'XXXX' 警告
查看>>
c语言海量数据处理
查看>>
create table like 和create table select 比较
查看>>
获取存储过程
查看>>
Good Bye 2015B
查看>>
Parallel Gradient Boosting Decision Trees
查看>>
4.Twisted中的Deferreds
查看>>
[C#学习笔记]你真的理解拆箱装箱吗?
查看>>
CSS背景使用,引入、尺寸、平铺、定位、多重背景
查看>>
DB2 因版本问题 Reorg 出错 解决办法
查看>>
安卓 notes
查看>>
Session对象详解[源于网络]
查看>>
经历无数次失败,终于把kamailio装上了
查看>>
Android ListActivity实现遍历文件列表,查看文档类文件
查看>>
C++自定义NULLPTR
查看>>