Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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 为什么我会犯错误;整数太大;?I';m包括一个“;L";最后_Java_Javac_Long Integer - Fatal编程技术网

Java 为什么我会犯错误;整数太大;?I';m包括一个“;L";最后

Java 为什么我会犯错误;整数太大;?I';m包括一个“;L";最后,java,javac,long-integer,Java,Javac,Long Integer,以下代码不是用Java编译的: java版本“1.6.0_24” OpenJDK运行时环境(IcedTea6 1.11.1)(suse-3.1-x86_64) OpenJDK 64位服务器虚拟机(构建20.0-b12,混合模式) 这将抛出错误: XOR.java:5: integer number too large: 595082963178094600000 但我已经正确地指出它是一个长期的!以下内容还会引发一个错误: public class XOR { public stati

以下代码不是用Java编译的:

java版本“1.6.0_24” OpenJDK运行时环境(IcedTea6 1.11.1)(suse-3.1-x86_64) OpenJDK 64位服务器虚拟机(构建20.0-b12,混合模式)

这将抛出错误:

XOR.java:5: integer number too large: 595082963178094600000
但我已经正确地指出它是一个长期的!以下内容还会引发一个错误:

public class XOR
{
    public static void main(String[] args)
    {
        long one = new Long( "595082963178094600000" );
    }
}
这引发了:

java.lang.NumberFormatException: For input string: "595082963178094600000"
我做错了什么?

嗯,可能是因为它太大了吧

595082963178094600000  //your value
  9223372036854775807  //Long.MAX_VALUE
您需要
BigInteger
BigDecimal

new BigInteger("595082963178094600000")

long的值必须介于-9223372036854775808和9223372036854775807之间(包括这两个值)。不能将大于这些值的值赋给长变量,即使在其上附加L,也会使值溢出并在编译时导致错误

你试过没有引号的第二个吗?你确定这个数字没有超出长度范围吗?如果我记得最大长度约为9千5百万,比您的59508296317809460000小。这个数字看起来太大了!我希望你在数钱!谢谢我被甩了,因为错误没有说long太大,而是整数太大。
new BigInteger("595082963178094600000")