递归
递归:
- 方法本身不断调用自己
注意:
- 递归一定要有出口
- 递归次数不宜过多,防止内存溢出
package com.it04;
/*
* 递归:
* 方法本身不断调用自己
* 注意:
* 递归一定要有出口
* 递归次数不宜过多,防止内存溢出
*
*/
public class RecurrenceDemo {
public static void main(String[] args) {
int result = xc(5);
System.out.println(result);
}
public static int xc(int n) {
//必须要有出口
if(n==1) {
return 1;
}else {
//调用方法本身
return n*xc(n-1);
}
}
}
斐波那契数列
package com.it05;
/*
* 不死神兔问题(斐波那契列数):利用递归算法解决
*/
public class RecurrenceDemo2 {
public static void main(String[] args) {
//计算
int number = getNum(20);
System.out.println(number);
}
public static int getNum(int n) {
if (n==1) {
return 1;
}else if(n==2){
return 1;
}else {
return getNum(n-1)+getNum(n-2);
}
}
}