java__递归
2015-09-19 14:11
495 查看
乘阶:
![](http://img.blog.csdn.net/20150919134117643)
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); } } } }
相关文章推荐
- 【Java基础之一】Java Classloader机制解析
- Struts标签库详解,非常好的Struts标签详解
- java.lang.ClassCastException: $Proxy8 incompatible with lin.dao.impl.ExchangeDao
- 向AndroidStudio中导入Eclipse的库项目
- ubuntu 安装jdk1.7
- java阅读器hdfs单纯demo
- 【SSH之旅】一步学习的步Struts1相框(三):分析控制Struts1示例
- spring+springMVC中使用@Transcational方式管理事务的必须要配的东西。
- JAVA操作Excel文件
- 第一个Java程序
- JAVA反射的基础
- java__properties和转换流(字节转字符流)
- Java 基础学习-链接
- Netbeans的使用
- java 类的基本知识
- java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??
- Struts拦截百度编辑器解决方法
- 假设动态运行java文字,当在脚本式配置,这是非常方便的
- Session
- Cookie