Java 为BigInteger数组中的A元素赋值时出错
这是我的密码。当我创建BigInteger数组并尝试赋值时,它显示了一个错误Java 为BigInteger数组中的A元素赋值时出错,java,biginteger,Java,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;
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")
显式。Java具有静态类型,并且自动装箱仅对基本类型的包装器启用,如int到Integer,但不适用于biginger。你必须这样做
new BigInteger("676557656534345345654645654654645645645645665656567")
显式。首先是数字光栅器,然后是2147483647,将不允许作为输入,因为int范围是-2147483648:2147483647。如果您的输出大于此数字,它将自动反转到其最低值,即-2147483648 对于要与BigInteger一起操作的位数,请将该数字作为字符串 至于你的问题,我建议使用
coef[a]=new BigInteger("676557656534345345654645654654645645645645665656567");
由于它提供了java.lang.Math中的所有相关方法,您可以通过在其中传递字符串来执行算术运算
我制作了法波纳契系列,当一个大数字传递给它时,它会产生巨大的输出
看看
希望它能帮助你 首先,不允许将2147483647作为输入,因为int范围为-2147483648:2147483647。如果您的输出大于此数字,它将自动反转到其最低值,即-2147483648
public static void main(String[] args) {
BigInteger[] coef = new BigInteger[78];
int a = 24;
coef[a] = new BigInteger("676557656534345345654645654654645645645645665656567");
System.out.println(coef[a]);
}
对于要与BigInteger一起操作的位数,请将该数字作为字符串
至于你的问题,我建议使用
coef[a]=new BigInteger("676557656534345345654645654654645645645645665656567");
由于它提供了java.lang.Math中的所有相关方法,您可以通过在其中传递字符串来执行算术运算
我制作了法波纳契系列,当一个大数字传递给它时,它会产生巨大的输出
看看
希望它能帮助你 永远记住
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的数字都不允许作为输入,因为int范围是-2147483648到2147483647,永远不要忘记它。
如果只是为了以防万一,您的输出大于限制,它将反转到其最低值,即-2147483648
我建议您使用:
coef[a]=new BigInteger("324576565343453456546456546546456456456455643671");
所有重要函数都在java.lang.Math类中,您可以通过向其传递字符串来执行算术运算。请始终记住
所有大于2147483647的数字都不允许作为输入,因为int范围是-2147483648到2147483647,永远不要忘记它。
如果只是为了以防万一,您的输出大于限制,它将反转到其最低值,即-2147483648
我建议您使用:
coef[a]=new BigInteger("324576565343453456546456546546456456456455643671");
所有重要函数都在java.lang.Math类中,您可以通过向其传递字符串来执行算术运算。Coef是我假设的对象6765576567是一个原语,因为它不是对象,我想它是一个长的。如果你想在那里分配一个BigInteger,你必须用BigInteger.valueOf实例化一个新的。它不是一个长的,只代表9位整数值。请注意我的问题,如果是gud editJava int,它是一个略多于9位的十进制数字31位加号;长约为19位63位加号@JiangTejava Java long需要显式后缀,不像C和C++,其中int的十进制字太长,自动长或长。Coef是对象,我假定67 655 76565656567是一个本原,因为它不是对象,我猜想它是长的。如果你想在那里分配一个BigInteger,你必须用BigInteger.valueOf实例化一个新的。它不是一个长的,只代表9位整数值。请注意我的问题,如果是gud editJava int,它是一个略多于9位的十进制数字31位加号;长约为19位63位加号@JiangTejava Java long需要显式后缀,不像C和C++,其中int的十进制字太长,自动长或长。超过2 ^ { 31 } - 1的int计算环绕,但源文字被简单地拒绝。长文本和浮点文本在数值上可能更大,但没有一个能够准确表示所需的值。超过2^{31}-1的int计算会结束,但源文本会被简单地拒绝。长文本和浮点文本在数字上可以更大,但没有一个可以准确表示所需的值。请在回答中包含比固定代码更多的内容。解释你改变了什么,以及为什么。请在你的答案中包含更多,而不仅仅是固定代码。解释你改变了什么,以及为什么。