我试图想出一个程序,从用户获取任何数字,并产生斐波那契代码的第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)
它应该是
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
| 归档时间: |
|
| 查看次数: |
1996 次 |
| 最近记录: |