zoukankan      html  css  js  c++  java
  • 递归算法运用

    public static void main(String[] args) {
    File file=new File("F://wuzil");
    //listfile(file);

    File file1=new File("F://wuzili");
    //deletefile(file1);

    int num= getNum(5);
    System.out.println(num);
    }

    //一:递归方法列出指定目录下所有的文件名
    public static boolean listfile(File file) {
    if(!file.exists()) {
    return false;
    }
    File [] str=file.listFiles();//listFiles()返回指定路径下所有的目录和文件
    for(File fi:str){
    System.out.println(fi.getName());//获取wuzili目录下的目录名和文件名
    if(fi.isFile()){
    System.out.println(fi.getName());//通过方法的递归获取wuzili目录下所有的文件名,包括子目录下的文件名,不包含目录名。
    }else{
    //方法的递归
    listfile(fi);//当wuzili目录下有子目录的时候,走该递归方法,下一次参数传递的是子目录名,而不是第一次的wuzili目录参数
    }
    }
    return true;
    }

    //二:递归方法删除指定目录下文件夹和文件(当目录下有子目录或者文件时,则该文件不能删除,所以必须要先删除子目录或者文件)
    public static boolean deletefile(File file) {
    boolean flag = false;
    if(!file.exists()){
    return flag;
    }
    File[] filelist = file.listFiles();
    for(File file1:filelist ){
    if(file1.isFile()){
    file1.delete();
    }else{
    deletefile(file1);
    }
    }
    flag = file.delete();
    return flag;

    }
    //三:递归方法求n的阶乘(n!=n*(n-1)!)
    public static int getNum(int n) {
    int num = 0;
    if(n==0) {//规定0的阶乘等于1
    return 1;
    }else {
    num = n*getNum(n-1);
    }
    return num;
    }

  • 相关阅读:
    filter
    验证
    HTML5 canvas 内部元素事件响应
    canvas 椭圆
    计算2点角度
    复制pdf文字出来是乱码的一种可能的解决方案
    LaTeX Pdf to Word
    论文题录导入导出的困惑
    公式测试
    [LaTex]Visio文件转EPS文件[转]
  • 原文地址:https://www.cnblogs.com/ylsx/p/13178051.html
Copyright © 2011-2022 走看看