Java Fibonacci递归代码

-1 java fibonacci

我试图想出一个程序,从用户获取任何数字,并产生斐波那契代码的第n个数字.当我完成我的工作时,它会显示下一个#而不是#I需要.例如,我正在寻找第11个#并且它正在生成233而不是144.这是我的代码:

public static int fibonacci(int n)
{
    if (n<=0)
        return 1;
    else
        return fibonacci(n-2)+ fibonacci(n-1);
}


public static void main(String[] args)
{
    System.out.println("Enter a Number:");
    Scanner keyboard = new Scanner(System.in);
    int number = keyboard.nextInt();
    System.out.println("You Entered Number:" + number);
    System.out.println(number + "th Fibonacci Number is:"+ fibonacci(number));
    keyboard.close();        
}
Run Code Online (Sandbox Code Playgroud)

Edw*_*win 5

它应该是

if(n == 0)
    return 0;
else if(n == 1)
    return 1;
else
    return fibonacci(n - 1) + fibonacci(n - 2);
Run Code Online (Sandbox Code Playgroud)

因为fibonacci(0)= 0