如何在Java中连接大整数?

如何在Java中连接大整数?,java,numberformatexception,Java,Numberformatexception,我正试图编写一个简单的程序,随机生成3个整数,然后将它们放入数组中,然后将它们连接成单个整数序列,但它会抛出一个错误 代码如下: int [] kol=new int[3]; for(int j=0;j<3;j++) { kol[j]=(int)Math.round(Math.random() * 89999) + 10000; System.out.print(kol[j] +"\n" ); } String

我正试图编写一个简单的程序,随机生成3个整数,然后将它们放入数组中,然后将它们连接成单个整数序列,但它会抛出一个错误

代码如下:

int [] kol=new int[3];

for(int j=0;j<3;j++) {
    kol[j]=(int)Math.round(Math.random() * 89999) + 10000;              
    System.out.print(kol[j] +"\n" );                
}

String ma=kol[0]+","+kol[1]+","+kol[2]+";";
System.out.println(ma);
但同样的错误是:

Exception in thread "main" java.lang.NumberFormatException: For input 
at java.lang.NumberFormatException.forInputString(Unknown Source)
string: "715534907077099"

整数范围不足以包含较大的值

int MAX_VALUE = 2147483647
int MIN_VALUE = -2147483648

因此,使用相同的

整数范围不足以获得较大的值

int MAX_VALUE = 2147483647
int MIN_VALUE = -2147483648

因此,对于java中相同的

int
类型是一个32位有符号值,其中最大值为2147483647(2^31-1)。 显然,您的值“715534907077099”比Integer.MAX\u值大得多。如果仍然小于Long.MAX_值,
int n=Long.parseLong(strValue)
将起作用

但如果您不想设置上限,请改用
biginger

BigInteger bi = new BigInteger(Integer.toString(kol[0]) + Integer.toString(kol[1]) +
    Integer.toString  (kol[2]));
System.out.println(bi);

在java中,
int
类型是一个32位有符号值,其中最大值为2147483647(2^31-1)。 显然,您的值“715534907077099”比Integer.MAX\u值大得多。如果仍然小于Long.MAX_值,
int n=Long.parseLong(strValue)
将起作用

但如果您不想设置上限,请改用
biginger

BigInteger bi = new BigInteger(Integer.toString(kol[0]) + Integer.toString(kol[1]) +
    Integer.toString  (kol[2]));
System.out.println(bi);

使用
biginger
?如果您试图使用int无法接受的大值,请尝试使用@MoritzPetersen建议的
biginger
。我尝试了int b=Integer.parseInt(Integer.toString(kol[0])+Integer.toString(kol[1])+Integer.toString(kol[2]);tesa=tesa.add(biginger.valueOf(b));系统输出打印LN(tesa);使用
biginger
?如果您试图强制转换一个int无法接受的大值,请尝试使用@MoritzPetersen建议的
biginger
。我尝试了int b=Integer.parseInt(Integer.toString(kol[0])+Integer.toString(kol[1])+Integer.toString(kol[2]);tesa=tesa.add(biginger.valueOf(b));系统输出打印LN(tesa);我试过上面的代码,还是同一个例外,难道连BigInteger都有限制吗?似乎我在上面的代码中犯了一些拼写错误。我已经改正了。再试一次@user2557930i我自己更正了拼写,这不是问题所在,您可以自己尝试编译,它会给出相同的异常您确定您得到了相同的异常。似乎我必须上传一张图片来证明我的代码。哈。我试过上面的代码,还是一样的例外,难道连BigInteger都有限制吗?似乎我在上面的代码中犯了一些拼写错误。我已经改正了。再试一次@user2557930i我自己更正了拼写,这不是问题所在,您可以自己尝试编译,它会给出相同的异常您确定您得到了相同的异常。似乎我必须上传一张图片来证明我的代码。哈