Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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
Integer.parseInt在java中提供java.lang.NumberFormatException_Java - Fatal编程技术网

Integer.parseInt在java中提供java.lang.NumberFormatException

Integer.parseInt在java中提供java.lang.NumberFormatException,java,Java,我有一个字符数组 char[] bitsString = new char[16]; bitsString = {'1','1','1','1','1','1','0','1','1','1','1','0','0','1','1','0'}; 然后我将其转换为相应的整数,如下所示: int givenNumber = Integer.parseInt(new String(bitsString), 2); 当数字位字符串数组长度小于10时,上述逻辑工作正常。但是当它增加到11或更多时,它向

我有一个字符数组

char[] bitsString = new char[16];
bitsString = {'1','1','1','1','1','1','0','1','1','1','1','0','0','1','1','0'};
然后我将其转换为相应的整数,如下所示:

int givenNumber = Integer.parseInt(new String(bitsString), 2);

当数字位字符串数组长度小于10时,上述逻辑工作正常。但是当它增加到11或更多时,它向我显示了java.lang.NumberFormatException的原因。

经过一些尝试和试验后,我发现,情况是这样的,因为16位值超过了
整数的限制

但是当它从
int
更改为
long

long givenNumber = Long.parseLong(new String(bitsString), 2);

它工作得非常好。因为在本例中,long的长度为64位。

经过一些尝试和尝试后,我发现是这样的,因为16位的值超过了
整数的限制

但是当它从
int
更改为
long

long givenNumber = Long.parseLong(new String(bitsString), 2);

它工作得非常好。因为在本例中,long的长度为64位。

这在我的计算机上可以很好地编译。输出是64998。当您提供某种无效输入时,它可能会引发该异常;由于您在此处提供了有效的输入,我们无法告诉您未指定的输入引发异常的方式或原因。最可能的解释是您忘记传递2。Integer.MAX_值是一个10位数字。在我的计算机上可以编译。输出是64998。当您提供某种无效输入时,它可能会引发该异常;由于您在此处提供了有效的输入,我们无法告诉您未指定的输入引发异常的方式或原因。最可能的解释是您忘记传递2。Integer.MAX_值是一个10位数字。在Java中,整数的长度为32位。在Java中,整数的长度为32位。