Java 递归,利用递归阶乘累加以及打印文件夹目录

xiaoxiao2021-02-28  59

import java.io.File; public class testRecursion { int i =100; void run( ){ System.out.println("run"+i); i--; if(i>0){  //当i>0时,调用自身方法 run( ); }  } int jiecheng(int a){ if(a>1){//当a>1时,调用自身方法返回结果 return a*jiecheng(a-1); }else{ //否则跳出并返回1 return 1; } } int leijia (int i){ if(i==0){ return 0; }else{ return i+leijia(i-1); } } void printfile(File f, int level){ for(int i=0;i<level;i++){ //for循环控制外圈的--标志, System.out.print("-"); } System.out.println(f.getName()); if(f.isDirectory()){ //判断f是否为文件夹,若true,用listFIles方法将f里的文件(夹)存到数组f1里,随后遍历f1数组, //在遍历中继续调用本方法,将f1的元素逐个放到printfile里继续 File [] f1 = f.listFiles();  for(File x:f1){ printfile(x,level+1); } } } public static void main(String[] args) { testRecursion tr =new testRecursion();   System.out.println(new testRecursion().jiecheng(10));   System.out.println(tr.leijia(10)); File f = new File("D:/Program Files"); tr.printfile(f,0); } }
转载请注明原文地址: https://www.6miu.com/read-51833.html

最新回复(0)