java递归
- 递归的概念
- 求1+3+5+...+19
- 求阶乘
递归的概念
所谓的递归就是,方法调用自身,称之为递归方法
求1+3+5+…+19
public class Java16_Object_Recursion {
public static void main(String[] args) {
// 1 + 3 + 5 + 7 + 9... + 19
int result = computeAP( 10 );
System.out.println(result);
}
public static int computeAP(int num) {
num = num % 2 == 0 ? num - 1 : num;
if ( num == 1 ) {
return 1;
} else {
return num + computeAP(num - 2);
}
}
}
求阶乘
思路:一个大于1的数的阶乘等于这个数乘以这个数减一的阶乘。
public class Java16_Object_Recursion {
public static void main(String[] args) {
// 阶乘 : 5! => (4,3,2,1) => 5 * 4 * 3 * 2 * 1
// 0的阶乘为1.
// 一个大于1的数的阶乘等于这个数乘以这个数减一的阶乘。
int result = computeFactorial(5);
System.out.println(result);
}
public static int computeFactorial(int num) {
if ( num <= 1 ) {
return 1;
} else {
return num * computeFactorial(num - 1);
}
}
}