解法1、不用递归
/*
* 斐波那契列数,1,1,2,3,5,。。。。。。。。求第十项
*/
package csdn;
public class Fibonacci {
int numberOne=1;
int numberTwo=1;
public int calculateTenth(){
int temp=0;
for(int i=3;i<=10;i++){
temp=numberOne+numberTwo;
numberOne=numberTwo;
numberTwo=temp;
}
return temp;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new Fibonacci().calculateTenth());
}
}
输出为55.
解法2、递归解法
/*
* 斐波那契列数,1,1,2,3,5,。。。。。。。。求第十项
* 没有做输入的数据的正确性检查 默认会输入10 ,不会输入其他的值。
*/
package csdn;
public class FibonacciDigui {
public int calculate(int number){
if(number == 1)
return 1;
else if(number == 2)
return 1;
else{
return calculate(number-1) + calculate(number-2);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new FibonacciDigui().calculate(10));
}
}