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
- java__递归
- java__泛型
- java__线程
- java__泛型
- JAVA__环境搭建
- 黑马程序员Java__泛型
- 黑马程序员Java__代理
- 黑马程序员Java__基础
- 黑马程序员Java__多线程
- java__线程通信
- java__线程通信02
- java__集合02
- java__集合03
- java__输入输出流复习
- java__网络编程01
- java__网络编程UDP
- java__基础复习02
- java__基础03
- JSTL 核心标签库
- Git工具连接GitHub(Windows配置篇)
- 十步开发第一个QNX Neutrino 程序
- Node.js中的HTTP模块
- 信号量和共享内存
- java__递归
- android5.0源码开发之NVRam存储,恢复出厂设置数据不被擦除--上篇
- 第三周 项目2-建设“顺序表”算法库
- 升级Xcode7问题
- android编译ffmpeg+x264
- 如何使用Git上传项目代码到github
- Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.soc
- openssl-1.0.0b - libssl 移植到ARM Linux
- halcon基本示例阈值操作