我正在开发一个查找斐波那契数列的程序。作业的第一个版本要求返回 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,任何建议将不胜感激。
3 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
当您使用 long 时,它们要么是原始类型,要么是装箱类型,因此在声明时默认为 0。
但是 java.math.BigInteger 是一个对象,因此您必须在使用它之前对其进行初始化。
将此行更改BigInteger previous, current;
为BigInteger previous = new BigInteger("0"), current = new BigInteger("1");
应该修复它。
添加回答
举报
0/150
提交
取消