我必须想出一种方法来确定在我们有位溢出之前数据类型 long 将持有多少次斐波那契数列迭代。我经常收到错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at Fibonacci.main(Fibonacci.java:15).
我尝试增加数组的长度,我尝试使用 arraylist 数据类型(由于无知并且不了解我对它的研究,我回到了一个空数组),我尝试不使用一个数组,但后来被告知我必须这样做。)这是我的代码,我确实有一行将计数器减少了一个。我在尝试调试我的代码时把它撕掉了。我非常感谢任何/所有帮助。
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]);
}
}