Java 写一个返回指定斐波那契数的方法?

Java 写一个返回指定斐波那契数的方法?,java,arrays,recursion,fibonacci,Java,Arrays,Recursion,Fibonacci,斐波那契序列是一组数字,其中前两个数字之后的每个数字都是前两个数字的总和,从而形成以下序列: 01 1 2 3 5 6 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 如何使用递归编写返回指定斐波那契数的方法?我想避免使用数组 这是我到目前为止所拥有的 public static int fibo(int n) { if (n==1) return 1; else return //this is

斐波那契序列是一组数字,其中前两个数字之后的每个数字都是前两个数字的总和,从而形成以下序列:

01 1 2 3 5 6 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

如何使用递归编写返回指定斐波那契数的方法?我想避免使用数组

这是我到目前为止所拥有的

public static int fibo(int n)
{
    if (n==1)
        return 1;
    else
        return //this is the part i am stuck on

由于某个斐波那契数(1除外)位于其percursor上,因此您可以调用:

public static int fibo(int n) {
    if (n < 0) {
        throw new IndexOutOfBoundsException("Can't calculate fibonacci number for negative index");
    } else if(n == 0 || n == 1) {
        return n;
    }

    return fibo(n-1) + fibo(n-2);
}
publicstaticintfibo(intn){
if(n<0){
抛出新的IndexOutOfBoundsException(“无法计算负指数的斐波那契数”);
}else如果(n==0 | | n==1){
返回n;
}
返回fibo(n-1)+fibo(n-2);
}
公共静态int-fibo(int-n){

如果(你应该试着理解第N个斐波那契数与前面的N-1和N-2个数之间的关系,并在你的代码中表达出来。换句话说,你如何表达fibo(N)与fibo(N-1)和fibo(N-2)之间的关系.我认为这里最重要的问题是,你尝试过什么?你的意思是,像第n个数字一样?递归将值存储在堆栈中。我知道的很少,我认为你不能使用递归打印单个值(第n个斐波那契项)。
public static int fibo(int n){ 
  if(n<=2)
    return (n-1);
  else 
    return fibo(n-1) + fibo(n-2);
}
public class Fibonacci
{
    public static int fibonacci(int n)
    {
        if (n == 0)
            return 0;
        else if (n == 1)
            return 1;
        else
            return fibonacci(n - 1) + fibonacci(n - 2);
    }

    public static void main(String[] args)
    {
        System.out.println(fibonacci(11));
    }
}