java__递归

来源:互联网 发布:网上打工软件 编辑:程序博客网 时间:2024/06/15 01:38

乘阶:
这里写图片描述

package cn.itcast.other;/* 递归:函数的自身调用函数的自身。 递归的使用前提: 必须要有条件的情况下调用。需求: 算出5的阶乘。 5! = 5*4 *3 * 2*1  */public class Demo9 {    public static void main(String[] args) {        int result = print(5);        System.out.println("结果:"+ result);    }    public static int print(int num){        if(num==1){            return 1;        }else{            return num*print(num-1);        }    }    public static int test(int num){        int result  =  1;        while(num>0){            result = result*num;            num--;        }        return result;    }}
package cn.itcast.other;import java.io.File;/* 需求1:列出一个文件夹的子孙文件与目录。 2,列出指定目录中所有的子孙文件与子孙目录名,要求名称前面要有相应数量的空格:        第一级前面有0个,第二级前面有1个,第三级前面有2个...,以此类推。3,列出指定目录中所有的子孙文件与子孙目录名,要求要是树状结构,效果如下所示:        |--src        |   |--cn        |   |   |--itcast        |   |   |   |--a_helloworld        |   |   |   |   |--HelloWorld.java        |   |   |   |--b_for        |   |   |   |   |--ForTest.java        |   |   |   |--c_api        |   |   |   |   |--Student.java        |--bin        |   |--cn        |   |   |--itcast        |   |   |   |--i_exception        |   |   |   |   |--ExceptionTest.class        |   |   |   |--h_linecount        |   |   |   |   |--LineCounter3.class        |   |   |   |   |--LineCounter2.class        |   |   |   |   |--LineCounter.class        |--lib        |   |--commons-io.jar需求4: 删除一个非空的文件夹。 作业:  剪切一个非空目录。 */public class Demo10 {    public static void main(String[] args) {    /*  File dir = new File("F:\\1208project\\day22");        listFiles3(dir,"|--");*/        File dir = new File("F:\\aa");        deleteDir(dir);    }    //删除了一个非空的目录    public static void deleteDir(File dir){ // bb        File[] files = dir.listFiles(); //列出了所有的子文件        for(File file : files){            if(file.isFile()){                file.delete();            }else if(file.isDirectory()){                deleteDir(file); //删除文件            }        }        dir.delete(); //删除文件夹    }    public static void listFiles3(File dir,String space){ //space 存储的是空格        File[] files = dir.listFiles(); //列出所有 的子文件        for(File file : files){            if(file.isFile()){                System.out.println(space+file.getName());            }else if(file.isDirectory()){                System.out.println(space+file.getName());                listFiles3(file,"|   "+space);            }        }    }    //列出一个文件夹的子孙文件与目录。    public static void listFiles2(File dir,String space){ //space 存储的是空格        File[] files = dir.listFiles(); //列出所有 的子文件        for(File file : files){            if(file.isFile()){                System.out.println(space+file.getName());            }else if(file.isDirectory()){                System.out.println(space+file.getName());                listFiles2(file,"  "+space);            }        }    }    //列出一个文件夹的子孙文件与目录。    public static void listFiles1(File dir){        File[] files = dir.listFiles(); //列出所有 的子文件        for(File file : files){            if(file.isFile()){                System.out.println("文件名:"+file.getName());            }else if(file.isDirectory()){                System.out.println("文件夹:"+file.getName());                listFiles1(file);            }        }    }}
0 0
原创粉丝点击