如何在java中获取非常长的输入

如何在java中获取非常长的输入,java,input,io,Java,Input,Io,我想输入一个最大值为10^100000的整数 如何在java中接受这样的输入 我拿了 long num; 但它不起作用 有什么建议吗?您正在寻找BigInteger类,它是一个任意精度的整数类 您可以使用字符串参数创建一个,如下所示: String longIntegerString = "10000000000000000000000000000000000000000000000000000000000000000"; BigInteger bigInteger = new BigInte

我想输入一个最大值为10^100000的整数

如何在java中接受这样的输入

我拿了

long num;
但它不起作用


有什么建议吗?

您正在寻找BigInteger类,它是一个任意精度的整数类

您可以使用
字符串
参数创建一个,如下所示:

String longIntegerString = "10000000000000000000000000000000000000000000000000000000000000000";
BigInteger bigInteger = new BigInteger(longIntegerString);
该类包含add()、subtract()、multiply()、divide()、mod()和其他数学函数

请参见此处的javadocs:


是,使用BigInteger存储大输入


您可以将输入作为文本,然后使用biginger解析它。

使用biginger,或者使用apfloat。我相信它是-(2^(2^32))-2^(2^32-1)-1。在您给出的示例中,让我们假设我想要获取子字符串。但是substring方法只接受(int)作为参数如何通过它?让我自己更正一下,首先:范围是:-(2^(2^31))到2^(2^31-1)-1秒,让我澄清一下:你想把一个BigInteger传递给字符串。substring(int a,int b)方法?不,实际上我的目标是从那个BigInteger中找到一个子字符串并取模