如何创建一个新的 BigInteger 变量并创建一个 returns BigInteger 的方法?
How do I create a new BigInteger variable and make a method that returns a BigInteger?
BigInteger b = BigInteger.valueOf(calcFib(Integer.parseInt(args[0])));
我尝试 运行 为一个大的斐波那契数创建一个新的 BigInteger,但每当我这样做时,都会抛出这个错误:
error: cannot find symbol
BigInteger b = BigInteger.valueOf(calcFib(Integer.parseInt(args[0])));
^
symbol: class BigInteger
location: class FibonacciCalculator
如果有帮助,我已经导入了 java.lang.Object。我还是编程新手,所以请不要评判 :P
编辑:原来是在 main 中完成的,但是现在我在导入后这行代码遇到了新问题 java.math.BigInteger
public static BigInteger calcFib (int n)
{
if(n == 1 || n == 2)
return 1;
else
{
return calcFib(n-1) + calcFib(n-2);
}
}
if/else 语句的两个部分都抛出错误,if 说 int 可以
' 转换为 BigInteger,else 表示错误的操作数类型。再次为我的无知感到抱歉,感谢您的帮助!
BigInteger
class 定义在 java.math.BigInteger
中,所以尝试导入 java.math.BigInteger
。
在问题的第二部分,如果您使用 BinIntegers
而不是 int
或 long
类型,则需要稍微更改代码,因为您不能使用通常的 +
运算符或在 int
和 BigInteger
.
之间自动转换
修改后的代码应如下所示:
public static BigInteger calcFib(int n)
{
if(n == 1 || n == 2)
return BigInteger.ONE;
else
{
return calcFib(n - 1).add(calcFib(n - 2));
}
}
在理想情况下,您可能还会检查零和负数并通过抛出异常来处理它们。
BigInteger b = BigInteger.valueOf(calcFib(Integer.parseInt(args[0])));
我尝试 运行 为一个大的斐波那契数创建一个新的 BigInteger,但每当我这样做时,都会抛出这个错误:
error: cannot find symbol
BigInteger b = BigInteger.valueOf(calcFib(Integer.parseInt(args[0])));
^
symbol: class BigInteger
location: class FibonacciCalculator
如果有帮助,我已经导入了 java.lang.Object。我还是编程新手,所以请不要评判 :P
编辑:原来是在 main 中完成的,但是现在我在导入后这行代码遇到了新问题 java.math.BigInteger
public static BigInteger calcFib (int n)
{
if(n == 1 || n == 2)
return 1;
else
{
return calcFib(n-1) + calcFib(n-2);
}
}
if/else 语句的两个部分都抛出错误,if 说 int 可以 ' 转换为 BigInteger,else 表示错误的操作数类型。再次为我的无知感到抱歉,感谢您的帮助!
BigInteger
class 定义在 java.math.BigInteger
中,所以尝试导入 java.math.BigInteger
。
在问题的第二部分,如果您使用 BinIntegers
而不是 int
或 long
类型,则需要稍微更改代码,因为您不能使用通常的 +
运算符或在 int
和 BigInteger
.
修改后的代码应如下所示:
public static BigInteger calcFib(int n)
{
if(n == 1 || n == 2)
return BigInteger.ONE;
else
{
return calcFib(n - 1).add(calcFib(n - 2));
}
}
在理想情况下,您可能还会检查零和负数并通过抛出异常来处理它们。