• 关于目录遍历功能的实现


    今天回顾Java的IO流的知识,看到遍历目录的知识点,有点犯难!不过幸好最后还是让我敲出来了!

    调用类:

     1 public class DirectoryTraversal {
     2     public static void main(String[] args) {
     3         System.out.println("展示指定目录下的所有子目录");
     4         File file = new File("D:\imooc");
     5         FileUtil.listDirectory(file);
     6         System.err.println("遍历结束");
     7         // 文件进行listFiles(),操作,结果为空!下面的语句出现空指针异常
     8         // File file1=new File("D:\imooc\test.txt");
     9         // System.out.println(file1);
    10         // File[] files1=file1.listFiles();
    11         // for(File ff:files1){
    12         // System.out.println(ff);
    13         // }
    14     }
    15 }

    工具类:

    import java.io.File;
    
    //File的工具类,用于遍历数组
    public class FileUtil {
        public static void listDirectory(File f){    
            File[] files=f.listFiles();
            if(files!=null && files.length>0){
                for(File file:files){
                    System.out.println(file);
    //                listDirectory(file);
                }
            }
        }
    }

    遍历功能主要涉及到了递归这个知识点!没有详细了解,只知道是程序调用自身

    5的阶乘的实现:

     1 //递归案例
     2 public class Recursive {
     3     public static int sum = 1;
     4 
     5     public static void main(String[] args) {
     6         System.out.println(f(5));
     7     }
     8 
     9     /**
    10      * 计算5阶乘(result=5*4*3*2*1)
    11      * 
    14      */
    15     public static int f(int n) {
    16         if (n == 1) {
    17             return 1;
    18         } else {
    19             return f(n - 1) * n;
    20         }
    21     }
    22 }

    参考:递归原理解析,要注意的是这边文章中的5的阶乘的实现有问题,阶乘方法中的else语句应该写成:

     return f(n - 1) * n;

     

  • 相关阅读:
    BETA 版冲刺前准备
    第十一次作业
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
    Alpha 冲刺 (4/10)
    抽奖系统现场编程
  • 原文地址:https://www.cnblogs.com/TTDJAVA/p/4331185.html
Copyright © 2020-2023  润新知