每次调用方法,变量会与出口更接近,写好出口,防止栈内存溢出。
1.求和
package com.hncu.myfactorial;
public class MyFactorialDemo1 {
//递归求100的和
public static void main(String[] args) {
System.out.println(sums(100));
}
public static int sums(int i){
if (i == 1){
return 1;
}
else {
return i + sums(i - 1);
}
}
}
2.阶乘
package com.hncu.myfactorial;
public class MyFactorialDemo2 {
//递归求5的阶乘
public static void main(String[] args) {
int result = getresult(5);
System.out.println(result);
}
private static int getresult(int i) {
if (i == 1) {
return 1;
} else {
return i * getresult(i - 1);
}
}
}