Java中递归_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java中递归

Java中递归

 2018/10/19 16:01:14  andrew7676  程序员俱乐部  我要评论(0)
  • 摘要:1.Java中递归所谓递归(Recursion),就是方法调用自身。对于递归来说,一定有一个出口,让递归结束,只有这样才能保证不出现死循环。使用递归计算阶乘:publicclassTest{publicstaticvoidmain(String[]args){System.out.println(compute(6));}publicstaticintcompute(intnumber){if(1==number){return1;}else{returnnumber*compute
  • 标签:Java 递归
1. Java中递归
class="java">
所谓递归(Recursion),就是方法调用自身。
对于递归来说,一定有一个出口,让递归结束,只有这样才能保证不出现死循环。

使用递归计算阶乘:
public class Test {
    public static void main(String[] args) {
        System.out.println(compute(6));
    }
    public static int compute(int number) {
        if (1 == number) {
            return 1;
        } else {
            return number * compute(number - 1);
        }
    }
}


2. 斐波那契数列
1、1、2、3、5、8、13、21、34、……
在数学上,斐波纳契数列以如下被以递推的方法定义:
F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
public class Fibonacci {
    public static void main(String[] args) {
        System.out.println(compute(6));
    }
    public static int compute(int n) {
        if (1 == n || 2 == n) {
            return 1;
        } else {
            return compute(n - 1) + compute(n - 2);
        }
    }
}


3. 递归的使用
用递归方式删除一个非空的目录中的文件。
file.delete()删除目录时必须保证目录是空的。
import java.io.File;
public class FileTest9 {
    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:\\abc"));
    }
}
发表评论
用户名: 匿名