0

ビットオーバーフローが発生する前に、データ型 long が保持するフィボナッチ数列の反復回数を決定する方法を見つけ出す必要があります。私は常にエラーが発生します:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
    at Fibonacci.main(Fibonacci.java:15). 

配列の長さを増やそうとしましたが、arraylist データ型を使用しようとしました (無知のため、それに関する私の研究を理解していないため、空の配列に戻りました)、使用しないようにしました配列ですが、そうしなければならないと言われました。) これが私のコードで、カウンターを 1 つ減らす行がありました。コードをデバッグしようとして、それを切り取りました。あらゆる/すべての助けに感謝します。

import javax.swing.JOptionPane;

public class Fibonacci {
    public static void main(String[] args) {
        long[] f = new long[9000];

        int k = 1;
        f[0] = 0;
        f[1] = 1;

        while (f[k] > 0) {
            f[k] = f[k - 1] + f[k - 2];
            k++;
        }


        System.out.println("The number of Fibonacci numbers a computer can compute with the data type long is " + k);
        System.out.println(k + "th Fibonacci number is " + f[k]);
    }
}
4

2 に答える 2