*
*/
package com.test;
/**
* @author daniel
*
*/
public class CallSelf {
/**
* @param args
*/
public static void main(String[] args) {
// int
int number=4;
// call sum
System.out.println("sum("+number+")="+sum(number));
// call getFactorial
System.out.println("getFactorial("+number+")="+getFactorial(number));
}
/**
* sum up an number to 1
* @param x
* @return
*/
public static int sum(int x){
//break
if(x<=0){
return x;
}
//call self & sum up
int total=x+sum(x-1);
return total;
}
public static int getFactorial(int x){
//condition
if(x==1){
return 1;
}
//call self & get factorical
return x*getFactorial(x-1);
}
}
* 斐波那契方法 采用迭代方法解决
* @param n 要求的那项位置
* @return 结果
*/
public static int feibo(int n)
{
int start1 = 1;
int start2 = 1;
for(int i = 2; i < n; i++)
{
int temp = start1+start2;
start1 = start2;
start2 = temp;
}
return start2;
}