gpt4 book ai didi

java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : -1 at Fibonacci. main(Fibonacci.java:15)

转载 作者:行者123 更新时间:2023-12-01 14:10:23 29 4
gpt4 key购买 nike

我必须找到一种方法来确定数据类型 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]);
}
}

最佳答案

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

如果k == 1,您尝试访问f[0]f[-1],这显然不会存在,因为数组索引从 0 开始,而不是 -1

你应该使用

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

关于java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : -1 at Fibonacci. main(Fibonacci.java:15),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18562981/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com