打印斐波那契数列直到第n位?

用户名

我正在尝试将整个斐波那契数列打印到给定的位置。因此,用户可以决定要查看多少个斐波纳契序列(最多16个重复),并打印整个序列。

我当前的代码仅在您选择的位置的序列中打印数字。例如:4印2而不是0 1 1 2。

public int Fibonacci(int number){
    if(number == 1 || number == 2){
        return 1;
    }
    int fib1=1, fib2=1, fibonacci=1;
    for(int count= 3; count<= number; count++){
        fibonacci = fib1 + fib2;
        fib1 = fib2;
        fib2 = fibonacci;
    }
    return fibonacci;
}

这是我的主要方法:

import java.util.Scanner;

public class FibonacciPrinter 
{

    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter an integer: ");
        int input = in.nextInt();

        FibonacciGenerator newNumber = new FibonacciGenerator();

        for(int fibCount = 0; fibCount < input; fibCount++)
        {
            System.out.println(newNumber.Fibonacci(input));
        } 
    }
}
艾略特新鲜

我觉得在这里

for(int fibCount = 0; fibCount < input; fibCount++)
{
  System.out.println(newNumber.Fibonacci(input));
} 

你几乎肯定想要

for(int fibCount = 0; fibCount < input; fibCount++)
{
  System.out.println(newNumber.Fibonacci(fibCount)); // <-- fibCount not input
} 

您需要更新方法以处理零情况,例如

 public int Fibonacci(int number) {
   if (number == 0) return 0;
   // ...
 }

在Java中,约定名称Fibonacci为,fibonacci因为方法名是驼峰式的,以小写字母开头(按惯例,类以大写字母开头)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章