递归

来源:互联网 发布:国家统计局2017年数据 编辑:程序博客网 时间:2024/05/21 15:48


所谓递归(Recursion),就是方法调用自身。对于递归来说,一定有一个出口,让递归结束,只有这样才能保证不出现死循环。

递归:你就把返回的那个值即函数的返回值当作是它的一个计算,阶乘:
public int compute2(int number){
 if(1==number){
  return1;//首先判断出口点
 }else{
  return number*compute2(number-1);
 }
}

 

斐波纳契数列

public class Fab
{
 //使用递归计算斐波纳契数列
 public int compute(int n)
 {
  //递归的出口,首先判断出口点
  if(1 == n || 2 == n)
  {
   return 1;
  }
  else
  {
   return compute(n - 1) + compute(n - 2);
  }
 }
 
 public static void main(String[] args)
 {
  Fab fab = new Fab();
  
  System.out.println(fab.compute(9));
 }
}

删除目录下的所有文件及目录

public class DeleteAll
{
 public static void deleteAll(File file)
 {
  if(file.isFile() || file.list().length == 0)//这个也是出口
  {
   file.delete();
  }
  else
  {
   File[] files = file.listFiles();
   
   for(File f : files)
   {
    deleteAll(f);
    
    f.delete();
   }
  }
 }
 
 
 public static void main(String[] args)
 {
  deleteAll(new File("c://jakarta-jmeter-2.4"));
 }
}

原创粉丝点击