Java中的递归如何使用?最好给出详细的例题

如题所述

程序调用自身的编程技巧称为递归( recursion)。   一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。   注意:   (1) 递归就是在过程或函数里调用自身;   (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。

上面是递归的定义,我现在给你一个JAVA最简单的递归的我写的例子,你可以对照着看:

public class Test { public static void main(String[] args) { output(1); } private static void output(int n) { // TODO Auto-generated method stub System.out.println(n); if(n<100){ n++; output(n); } } }
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-04
首先递归是一种算法,跟JAVA无关,C和C++以及其它语言都有递归,我们汉语,英语也有递归。
其次,了解递归最重要的就是了解递归的三项基要决,或叫条件。
我以前回答过多次关于递归的问题,都被选为满意答案,现在我不想再码字了,所以我直接把链接给你,你去看看。

1。递归的三项条件,与普通循环的区别
http://zhidao.baidu.com/question/80113997.html
2。 递归实例,用普通语言解说
http://zhidao.baidu.com/question/80376659.html
第2个回答  2012-05-04
就是自己调用自己嘛

java递归是什么意思?怎么用?通过案例来身临其境的学习java递归
} return climbStairs(n - 1) + climbStairs(n - 2);} 通过递归函数`climbStairs`,当n等于5,函数返回8,代表有8种方法到达第五阶。例如,一步一步上至第五阶,迈一步和两步交替,或是利用两步和一步的组合。此例子展示了递归在解决数学问题时的强大功能。总体而言,递归函数通过简洁明了的...

java递归是什么意思?怎么用?通过案例来身临其境的学习java递归
想象每天早晨的洗脸过程:首先打湿脸(washFace()调用wetFace()),然后涂洗面奶(applyCleanser()),再冲洗干净(rinseOff()),最后擦干(dryFace())。这个过程就像递归函数,基本结构是递归调用这四个步骤,直到达到结束条件。递归使代码更具可读性,如washFace()递归调用其他函数来完成洗脸。另一个...

java中的递归到底是什么来的啊 本人初学的 要多的简单的例子啊 没有...
递归就是直接或者间接对自身进行调用。。1.先想参数 2.递归的条件 3.递归的边界 以后遇到递归题,就从这三个方面思考..容易些。顺便 给你一道杨辉三角形的题。。\/ 利用递归输出杨辉三角 \/ public class YangHui { public static void main(String args[]){ int hang=0;\/\/行数 int dangQian =...

Java用递归实现3.根据规律写出计算算法:1、7、8、15、23、38、61...
在上面的代码中,我们定义了一个getNumber方法,该方法接受一个整数n作为参数,返回数列中第n位的值。在该方法中,我们使用了递归算法,把求第n位的值转化为了求第n-1位和第n-2位的和。其中,第一项的值为1,第二项的值为7。通过递归调用,我们最终可以得到数列中任意一项的值。在主函数中,我...

在java中,用递归方法计算n的阶乘。
用Java求键盘输入的数的阶乘n。(递归算法)packagejiecheng; importjava.util.*; \/\/导入java.util包中的所有类classrep{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;elsi=n*rep(n-1) returni; } } publicclassJie { publicstaticvoidmain(String[] args) { intn; ...

用Java的递归方法写一个程序,判断一个数是否是回文数,最好能用在Eclips...
非要递归么,public static void main(String[] args) throws Exception { String string="1234";StringBuilder stringBuilder=new StringBuilder(string);if(stringBuilder.reverse().toString().equals(string))System.out.println("回文");else System.out.println("不是回文");} ...

JAVA程序经常用到“递归”,“递归”的基本思想是
递归强调的分治的策略,再举个例子,有一种排序算法叫归并排序,其思想是这样的:要对一个无序的数组进行排序,可以将这个数组分解为2个小数组,然后对这两个数组分别排序,再把排好序的两个数组合并。而这一过程中只有“对两个数组分别排序”不是我们能解决的,但是这个问题可以使用上面的策略进行再次...

java中递归的作用是什么?为什么要用到递归?
然后反过来就可以求出最终的结果了。n的阶乘算法如下:private static int jieCheng(int n) { if(n == 1)return 1;else { return n*jieCheng(n-1);} } 还有就是数据结构中二叉树的定义,也是递归定义的。因此二叉树的好多操作都是通过递归实现的。用递归会使程序相当简洁。

java 递归 定义是什么?请举出个简单的例子,谢谢
一个类的定义方法:public class Node { int value;Node next;以下有一些set,get方法及构造方法 } 一个类的成员是当前类 一个方法:public int f(int n){ if(n<=1)return 1;else return n+f(n-1);} 以上是求1-n的累加 该方法调用了该方法自己 ...

用java递归方法实现
1、递归做为一种算法在程序设计语言中广泛使用,是指函数\/过程\/子程序在运行过程中直接或间接调用自身而产生的重入现象。2、递归算法一般用于解决三类问题:1)数据的定义是按递归定义的。(Fibonacci(斐波那契)的函数)2)问题解法按递归算法实现。(回溯)3)数据的结构形式是按递归定义的。(树的遍历...

相似回答