在 Java 中的 biginteger 数组中赋值
assigning values in biginteger array in Java
对于某些程序,我需要一个数组来存储第 100 项的斐波那契数列。虽然我可以使用 fib 函数计算并存储在数组中,但我想通过手动存储来节省时间。我该怎么做?
我试着这样做:
BigInteger[] arr={259695496911122585,420196140727489673,
679891637638612258,1100087778366101931,1779979416004714189};
但是,我收到错误 "Type mismatch; can not convert int to BigInteger"。
您有一个 BigInteger 数组并尝试添加原始 int 类型。您必须创建可以成为数组一部分的 BigInteger 实例:
BigInteger[] arr={BigInteger.valueOf(1),BigInteger.valueOf(259695496911122585L)};
或者,如果您的值大于 long 值,请使用带有 String 参数的构造函数:
BigInteger[] arr={new BigInteger("259695496911122585"),new BigInteger("420196140727489673")};
int 是原始类型,而 BigInteger 是 class 类型。
对于您的情况,您有一个 BigInteger 数组。所以数组的每个元素都必须是 BigInteger class 类型。你给它 int,一个原始类型,所以它会抱怨。
为了解决这个问题,数组的每个索引都应该包含一个 BigInteger 类型的对象。
BigInteger[] bigIntegerArray = {new BigInteger(#),.....}
其中 # 是一个数字,... 是附加索引。
对于某些程序,我需要一个数组来存储第 100 项的斐波那契数列。虽然我可以使用 fib 函数计算并存储在数组中,但我想通过手动存储来节省时间。我该怎么做?
我试着这样做:
BigInteger[] arr={259695496911122585,420196140727489673,
679891637638612258,1100087778366101931,1779979416004714189};
但是,我收到错误 "Type mismatch; can not convert int to BigInteger"。
您有一个 BigInteger 数组并尝试添加原始 int 类型。您必须创建可以成为数组一部分的 BigInteger 实例:
BigInteger[] arr={BigInteger.valueOf(1),BigInteger.valueOf(259695496911122585L)};
或者,如果您的值大于 long 值,请使用带有 String 参数的构造函数:
BigInteger[] arr={new BigInteger("259695496911122585"),new BigInteger("420196140727489673")};
int 是原始类型,而 BigInteger 是 class 类型。
对于您的情况,您有一个 BigInteger 数组。所以数组的每个元素都必须是 BigInteger class 类型。你给它 int,一个原始类型,所以它会抱怨。
为了解决这个问题,数组的每个索引都应该包含一个 BigInteger 类型的对象。
BigInteger[] bigIntegerArray = {new BigInteger(#),.....}
其中 # 是一个数字,... 是附加索引。