Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有效数字的NumberFormatException?_Java - Fatal编程技术网

Java 有效数字的NumberFormatException?

Java 有效数字的NumberFormatException?,java,Java,我犯了这个错误 java.lang.NumberFormatException:用于输入字符串:“7708166193” 从这行代码 String[] tmp = in.nextLine().replace("-","").split(" "); String phoneNumber = tmp[2]+tmp[3]; int number = Integer.parseInt(phoneNumber); 我不能完全理解它为什么会抛出这个错误。因为,您的输入值(即770816193)大于Inte

我犯了这个错误

java.lang.NumberFormatException:用于输入字符串:“7708166193”

从这行代码

String[] tmp = in.nextLine().replace("-","").split(" ");
String phoneNumber = tmp[2]+tmp[3];
int number = Integer.parseInt(phoneNumber);
我不能完全理解它为什么会抛出这个错误。

因为,您的输入值(即
770816193
)大于
Integer.MAX_值(即
2147483647
)。使用
long
代替
int

  long number = Long.parseLong(phoneNumber); 
最大整数(+-20亿)小于7708166193。使用:

long number = Long.parseLong(phoneNumber)

您似乎试图使用a,但已达到最大值2^31,因此应改用7708166193