java - 60亿在java中不能被识别为整数?

标签 java

当我尝试将 6000000000 存储在 int 变量中时遇到问题。

这是我遇到问题的脚本部分:

Scanner x = new Scanner(System.in);
System.out.println("Please enter a number here:");
int k = x.nextInt();
System.out.println(k);

当我输入 6000000000 时,输出应该是一样的,但输出是这样的错误:

Exception in thread "main" java.util.InputMismatchException: For input string: "6000000000"
    at java.util.Scanner.nextInt(Unknown Source)
    at java.util.Scanner.nextInt(Unknown Source)

这是什么?如何预防?

最佳答案

值太大,java ints 只能保存从 –2,147,483,648 到 2,147,483,647 之间的值。

改用long

关于java - 60亿在java中不能被识别为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11886797/

相关文章:

java - 如果没有分配变量,对象什么时候会超出范围?

java - 在 Java 桌面应用程序中嵌入谷歌地图

java - 如何在 hibernate 条件下使用连接列?

使用 spring-integration-ip 的 Java 服务器

java - Java 中带有抽象类的菱形继承(钻石问题)

java - 无法在 Intellij 中指定主 list 属性

java - PreparedStatement 中的这些值/参数是什么意思?

java - 如何配置 EclipseLink HistoryPolicy 以跟踪对 GlassFish 4 中 JPA 实体的元素集合属性的更改?

java - 重绘未验证?

java - JList 所选项目到字符串 - 奇怪的结果 : Donnees. Marques@3d5bac58