带循环的BigInteger数组.无法添加

use*_*814 -4 java arrays biginteger

package fibonacci;
import java.math.BigInteger;
import java.math.*;
public class fibo {
         public static void main(String[] args) {

             //number of elements to generate in a series
            BigInteger sum;
            BigInteger[] series= new BigInteger[4000000];



           //long[] series = new long[4000000];

             //create first 2 series elements
             series[0] = BigInteger.valueOf(1);
             series[1] = BigInteger.valueOf(2);

             //create the Fibonacci series and store it in an array
             for(int i=2; i < series.length; i++){
                     series[i] = series[i-1].add(series[i-2]);
                     if (series[i].mod(BigInteger.valueOf(2)) == BigInteger.valueOf(0)){
                   sum = sum.add(series[i]);  //error here
                     }

             }
             System.out.println("Fibonacci Series sum " + sum); //error here


             }

    }
Run Code Online (Sandbox Code Playgroud)

我试图计算斐波纳契的偶数和.我需要在这里更改什么?或者应该使用.subtract重写整个程序?

Per*_*ror 7

initialize sum(引用BigInteger).局部变量不会获得默认值.你必须自己初始化它们.

  BigInteger sum= new BigInteger("0");
Run Code Online (Sandbox Code Playgroud)

要么

  BigInteger sum= BigInteger.ZERO;
Run Code Online (Sandbox Code Playgroud)

  • +1.我更喜欢`BigInteger.ZERO`. (2认同)