分配给 BigInteger 数组中的 an 元素时出错
Error assigning to an an element in an array of BigInteger
这是我的代码。当我创建一个 BigInteger
的数组并尝试分配一个值时它显示错误。
package test;
import java.math.*;
import java.lang.*;
import java.util.*;
public class Test {
public static void main(String[] args) {
BigInteger[] coef = new BigInteger[78];
int a=24;
coef[a]=676557656534345345654645654654645645645645665656567; // Error comes here why
System.out.println(coef[a]);
}
}
Java 具有静态类型,自动装箱仅对基本类型的包装器启用,如 int
至 Integer
,但对 BigInteger
不启用。你将不得不做
new BigInteger("676557656534345345654645654654645645645645665656567")
明确地。
首先,数字磨碎器然后 2147483647
将不允许作为输入,因为 int
范围是 -2147483648 : 2147483647
。如果您的输出大于此数字,它将自动反转并达到其最低值,即 -2147483648
.
要用BigInteger
运算的位数取String
.
作为你的问题,我建议使用
coef[a]=new BigInteger("676557656534345345654645654654645645645645665656567");
因为它为您提供了 java.lang.Math
中的所有相关方法,您可以通过在其中传递字符串来执行算术运算..check this document
我制作了 Fabonacci 系列,当传递给它一个大数字时,它会产生巨大的输出....
看看Fabonacci series on my GitHub
希望对你有帮助!!
public static void main(String[] args) {
BigInteger[] coef = new BigInteger[78];
int a = 24;
coef[a] = new BigInteger("676557656534345345654645654654645645645645665656567");
System.out.println(coef[a]);
}
时刻牢记
所有大于 2147483647
的数字都不允许作为输入,因为整数范围是 -2147483648
到 2147483647
(永远不要忘记)。
如果以防万一您的输出大于限制,它将反转并达到其最低值,即 -2147483648
.
我建议您使用:
coef[a]=new BigInteger("324576565343453456546456546546456456456455643671");
所有重要的功能都在java.lang.Math
class中,您可以通过向其传递一个字符串来执行算术运算。
这是我的代码。当我创建一个 BigInteger
的数组并尝试分配一个值时它显示错误。
package test;
import java.math.*;
import java.lang.*;
import java.util.*;
public class Test {
public static void main(String[] args) {
BigInteger[] coef = new BigInteger[78];
int a=24;
coef[a]=676557656534345345654645654654645645645645665656567; // Error comes here why
System.out.println(coef[a]);
}
}
Java 具有静态类型,自动装箱仅对基本类型的包装器启用,如 int
至 Integer
,但对 BigInteger
不启用。你将不得不做
new BigInteger("676557656534345345654645654654645645645645665656567")
明确地。
首先,数字磨碎器然后 2147483647
将不允许作为输入,因为 int
范围是 -2147483648 : 2147483647
。如果您的输出大于此数字,它将自动反转并达到其最低值,即 -2147483648
.
要用BigInteger
运算的位数取String
.
作为你的问题,我建议使用
coef[a]=new BigInteger("676557656534345345654645654654645645645645665656567");
因为它为您提供了 java.lang.Math
中的所有相关方法,您可以通过在其中传递字符串来执行算术运算..check this document
我制作了 Fabonacci 系列,当传递给它一个大数字时,它会产生巨大的输出....
看看Fabonacci series on my GitHub
希望对你有帮助!!
public static void main(String[] args) {
BigInteger[] coef = new BigInteger[78];
int a = 24;
coef[a] = new BigInteger("676557656534345345654645654654645645645645665656567");
System.out.println(coef[a]);
}
时刻牢记
所有大于 2147483647
的数字都不允许作为输入,因为整数范围是 -2147483648
到 2147483647
(永远不要忘记)。
如果以防万一您的输出大于限制,它将反转并达到其最低值,即 -2147483648
.
我建议您使用:
coef[a]=new BigInteger("324576565343453456546456546546456456456455643671");
所有重要的功能都在java.lang.Math
class中,您可以通过向其传递一个字符串来执行算术运算。