如何使用递归创建多层0-9文件夹

1 篇文章 0 订阅
1 篇文章 0 订阅
这篇博客介绍了作者如何运用Java的IO流和递归知识,模仿斐波那契数列创建多层隐藏文件夹。通过设置层数限制避免无限循环,并通过递归在每个目录下创建子目录,最终实现类似经典兔子问题的结构。作者分享了初始代码的问题及修正后的解决方案。
摘要由CSDN通过智能技术生成

1. 想法来源

中学的时候看见同学玩手机,将手机里面创建一个多层文件夹,把自己的一些小秘密藏在文件夹里面,这样别人就不能轻易翻到,但是如果说要建立很多层,手动创建很麻烦,最近java学到了io流,再加上之前学的递归,觉得可以通过递归来实现;
这个过程类似与经典兔子问题(又名斐波那契数列),第一层文件里面有0-9共10个目录,我个人称为第一层,然后0-9的每个目录下面又有0-9个目录,称为第二层,依次类推;
第一次写的代码如下,很明显,程序不会中断,而且生成的目录也全是0;

public class Test5 {
    public static void main(String[]args){
        File file = new File("f:/test");
        Test5 test5 = new Test5();
        test5.fun(file);
    }
    void fun(File file){
        for (int i = 0; i < 10; i++) {
            File file1 = new File(file, "" + i);
            file1.mkdir();
            for (int j = 0; j < 10; j++) {
                File file2 = new File(file1,""+j);
                file2.mkdir(File2);
            }
        }

    }
}

更改过后,增加了一个层数的变量,最终得到了想要的结果

package Test5;

import java.io.File;

public class Test5 {
    public static void main(String[]args){
        File path = new File("f:/test");
        Test5 test5 = new Test5();


        test5.fun(path,3);
    }
    void fun(File path,int level){
        if(level<=0) return;
        for (int i = 0; i < 10; i++) {
            File file = new File(path,""+i);
            file.mkdir();
            fun(file,level-1);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值