1.java中的递归方法是怎么样的
public int sum(int number){
if(number == 1){
return 1;
}else{
return number+ sum(number-1);
}
}
---------------------------------------
这个就是最简单的递归调用求和:以此类推既可以。
例如:
sum(4);
4 + sum(3);
-----3 + sum(2)
----------2 + sum(1);
---------------1;
2.用JAVA程序写一个最简单的递归算法
比如阶乘运算,就是一个很简单的递归类的代码如下:----------------------------------------------------import java.math.BigInteger;//由于结果比较大,引入了大整数BigInteger类public class Plus {//该类计算1000!并输出public static void main(String[] args) {int n = 1000;System.out.println(getPlus(n).toString());//调用getPlus方法,获取n!,并将结果转化为字符串输出}static BigInteger getPlus(int n) {//该方法获取n的阶乘if(n==0) return new BigInteger("1");//如果n是0,那么返回0!=1……(*)return getPlus(n - 1).multiply(new BigInteger(String.valueOf(n)));//如果n非0,那么返回(n-1)!*n……(**)}}---------------------------------------------------------关键的步骤在于(*)和(**)要运用递归,就必须满足1.原问题可以层层转化为规模越来越小的子问题即(**),把n!转化为求(n-1)!,再转为求(n-2)!……2.对于规模足够小的问题,能够直接得解即(*),对于0!,能够直接得到结果1。
3.java的递归查询怎么写
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。
在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。
但很多时候我们无法控制树的深度。
这时就需要在MySQL中用存储过程来实现或在你的程序中来实现这个递归。
4.用JAVA程序写一个最简单的递归算法
比如阶乘运算,就是一个很简单的递归
类的代码如下:
----------------------------------------------------
import java.math.BigInteger;
//由于结果比较大,引入了大整数BigInteger类
public class Plus {
//该类计算1000!并输出
public static void main(String[] args) {
int n = 1000;
System.out.println(getPlus(n).toString());
//调用getPlus方法,获取n!,并将结果转化为字符串输出
}
static BigInteger getPlus(int n) {
//该方法获取n的阶乘
if(n==0) return new BigInteger("1");
//如果n是0,那么返回0!=1……(*)
return getPlus(n - 1).multiply(new BigInteger(String.valueOf(n)));
//如果n非0,那么返回(n-1)!*n……(**)
}
}
---------------------------------------------------------
关键的步骤在于(*)和(**)
要运用递归,就必须满足
1.原问题可以层层转化为规模越来越小的子问题
即(**),把n!转化为求(n-1)!,再转为求(n-2)!……
2.对于规模足够小的问题,能够直接得解
即(*),对于0!,能够直接得到结果1
5.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
转载请注明出处育才学习网 » java中的递归怎么写