簡體   English   中英

打印Fibonacci序列到第n位?

[英]Print Fibonacci sequence up to nth place?

我試圖將整個斐波納契序列打印到給定的位置。 因此,用戶將決定他們想要查看多少個斐波那契序列(最多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因為方法名稱是以小寫字母開頭的駝峰(類按照慣例以大寫字母開頭)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM