当前位置: 首页 > 面试题库 >

整数太大

盖翰池
2023-03-14
问题内容

嗨,我很难理解为什么这不起作用

if(Long.parseLong(morse) == 4545454545){
     System.out.println("2");
}

莫尔斯电码只是一串数字。问题是它说Integer number太大:4545454545,但是我确定Long可以更长。


问题答案:

您需要使用4545454545l4545454545L将其限定为long。默认情况下,4545454545int文字,4545454545超出的范围int

建议使用大写字母L以避免混淆,因为l1看起来很相似

你可以做 :

if(Long.valueOf(4545454545l).equals(Long.parseLong(morse)) ){
     System.out.println("2");
}

要么

if(Long.parseLong(morse) == 4545454545l){
   System.out.println("2");
}

根据JLS
3.10.1

如果整数文字 以ASCII字母L或l(ell) 为后缀,则其类型为long ;否则为int类型(第4.2.1节)。



 类似资料:
  • 问题内容: 但是,如果用前导零检查Integer,则会发现问题是在jdk7发行之前进行的,因此其研究工作量较小。但是在jdk7中,对整数进行了一些更改和添加。以下是有关jdk7的最新答案。 我有一个代码: 编译时出现错误:整数太大:09 为什么这样做呢? 同样,如果我将代码更改为: 现在输出是10 为什么给输出10而不是12? 问题答案: 开头的数字被认为是八 - 9不是一个八进制数字(但(传统)

  • 问题内容: 当上面的代码运行时,它会在line上产生错误;。为什么? 问题答案: 不能表示为32位整数(类型)。可以将其表示为64位整数(类型)。Java中的长文字以“ L”结尾:

  • 我正在使用JavaSE开发工具包8更新25(64位)。我已经从Java™教程中阅读了“原始数据类型”java教程,根据该规范,长类型可以容纳(2的64次方)-1的最大值,即18446744073709551615。 但是下面的代码会抛出“整数太大”的错误消息。 此外,Long.Max_Value仅返回 9223372036854775807 。为什么?我需要将值 18,446,744,073,70

  • 问题内容: 我打开kibana并进行搜索,但出现碎片失败的错误。我查看了elasticsearch.log文件,然后看到此错误: 有什么办法可以增加593.9mb的限制? 问题答案: 您可以尝试在配置文件中将fielddata断路器的限制提高到75%(默认值为60%),然后重新启动集群: 或者,如果您不想重启群集,则可以使用以下方法动态更改设置: 试试看。

  • 我使用的mysql2库与NodeJS。我在本地机器和服务器上有相同的代码和数据库结构。当我上传一张照片到“照片”表时,在我的本地机器上,它工作正常。当我使用服务器时,我得到以下错误: {错误:数据太长,列'照片'在第1行Packet.as错误(/srv/project/server/node_modules/mysql2/lib/数据包/packet.js:716: 13)在查询。Command.

  • 我使用MediaCodec对相机数据进行编码,当我在一个名为Vivo X5 Pro(android 5.0,API 21)的设备上使用时,MediaCodec编码的数据大小在90000以上,在其他设备上通常是15000左右,但是我改变了媒体格式的参数,也不起作用。在Vivo X5 Pro(android 5.0,API 21)上用MediaCodec.getOutputFormat()方法得到的格