Fibonacci值的数组; 高指数值将数组值转为负值

Roh*_*han 1 java arrays fibonacci

我创建了一个名为数字的数组,它将存储斐波纳契数列的值.1,2,3,5等问题是当我尝试以非常高的索引值调用数组值时,数组值变为负数.

numbers[10] = 144 
Run Code Online (Sandbox Code Playgroud)

这是合理的但是

numbers[9999998] = -1448735941
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

public static void main(String[] args) {

    int[] numbers = new int[10000000];

    numbers[0] = 1;
    numbers[1] = 2;

    for(int x = 2; x<=numbers.length-1; x++)
    {
        numbers[x] = numbers[x-1] + numbers[x-2];
    }

    System.out.println(numbers[9999998]);
    System.out.println(numbers[10]);
Run Code Online (Sandbox Code Playgroud)

小智 5

溢出.一旦该值超过32位int的最大"容量",结果将回绕并从最小值开始(负值).

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

long和BigInteger能够存储比int更高的值.