在这里为自己的屠杀做准备。
已检查其他问题,并且似乎无法找到以下代码的IndexOutOfRange异常的原因:
public static int fib2(int n)
{
int[] fibarray = new int[n];
if (n == 0) return 0;
fibarray[0] = 0;
fibarray[1] = 1;
for (int i = 2; i < n; i++)
{
fibarray[i] = fibarray[i - 1] + fibarray[i - 2];
}
return fibarray[n];
}
这是非常愚蠢的东西我确定但是它让我变得邋((双关语)......
答案 0 :(得分:4)
那是最后一行!
return fibarray[n];
表格中的最后一个索引是n-1,而不是n。
<强>更新强>
就像阿提拉说的那样,如果n = 1,就行了
fibarray[1] = 1;
还将制作IndexOutOfRange