递归 该怎么用 ??我是初学者 搞不懂??他和方法声明和调用的区别是什么啊??下面是我遇到的难题??

解决方案 »

  1.   

    递归就是,同一个函数调用同一个函数。。你可以用递归来查找文件,求阶乘等求阶乘代码:public static int 阶乘(int x)
    {
    if(x <= 1)
    {
    return 1;
    }
    return x*阶乘(x-1);
    }
    public static void main(String[]args)
    {
    System.out.println(阶乘(3));
    }递归删除某个目录。。public static void main(String[] args)
    {
    deleteFile(new File("e:\\"));
    }

    public static void deleteFile(File file)
    {
    if(file.isFile())
    {
    file.delete();
    }
    else
    {
    File[] files = file.listFiles();
    for(File itemFile:files)
    {
    deleteFile(itemFile);
    }
    file.delete();
    }
    }
      

  2.   

    举例:
    一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,  
    用递归算法实现
    f(0) = 1;
    f(1) = 1;
    f(n) = f(n-1) + f(n-2);
    long f(long n){
        if(n < 2L) return 1L;
        return f(n-1L) + f(n-2L);
    }
     
      

  3.   

    fibonacci数列,这个还是蛮经典的
      

  4.   

    其实就是重复调用,调用自己。
    举个例子
    f(1)=1;
    f(n)=f(n-1)+1;当n=5的时候。
    f(5)=f(4)+1;
    f(4)=f(3)+1;
    f(3)=f(2)+1;
    f(2)=f(1)+1;因为知道f(1)=1;
    所以从下往上就一次计算出了f(5),f(4),f(3),f(2)
    整个递归调用的思想就是这样。
    你具体在联想到你调用的函数,就懂了。