猿问

将函数从返回 long 更改为 BigInteger

我正在开发一个查找斐波那契数列的程序。作业的第一个版本要求返回 long 数据类型,现在我们必须更改我们的函数以返回 BigInteger。我不确定如何更改我的函数以发送回 BigInteger 类型。这是我所拥有的:


public static BigInteger fibonacci_Loop(int f) {

    BigInteger previous, current;


    for(int i = 0; i < f; i ++) {

        BigInteger sum = previous.add(current);

        previous = current;

        current = sum;

    }

    return previous;

}

它不会运行,因为它要我初始化以前的和当前的,并且任何时候它都不会返回正确的数字。我不完全确定如何使用 BigInteger,任何建议将不胜感激。


汪汪一只猫
浏览 175回答 3
3回答

蝴蝶不菲

当您使用 long 时,它们要么是原始类型,要么是装箱类型,因此在声明时默认为 0。但是 java.math.BigInteger 是一个对象,因此您必须在使用它之前对其进行初始化。将此行更改BigInteger previous, current;为BigInteger previous = new BigInteger("0"), current = new BigInteger("1");应该修复它。
随时随地看视频慕课网APP

相关分类

Java
我要回答