-4
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


             }

    }

我正在尝试计算斐波那契的偶数之和。我需要在这里改变什么?还是应该使用 .subtract 重写整个程序?

4

2 回答 2

7

初始化sum(对 BigInteger 的引用)。局部变量没有默认值。你必须自己初始化它们。

  BigInteger sum= new BigInteger("0");

或者

  BigInteger sum= BigInteger.ZERO;
于 2013-03-20T09:56:52.917 回答
1

sum在向其中添加任何值之前,您需要对其进行初始化。

BigInteger sum= new BigInteger("0");

例子

希望这可以帮助..

于 2013-03-20T09:59:44.500 回答