gpt4 book ai didi

java - 读取数万亿的输入?

转载 作者:行者123 更新时间:2023-11-29 07:54:27 24 4
gpt4 key购买 nike

我想知道如何在我的 Java 应用程序中无误地读取从 1 到万亿的数字。

这是我的代码的一部分:

Scanner sc = new Scanner(System.in);
System.out.print("Enter your money value : ");
long value = sc.nextInt();
System.out.print("Your money in String : "+value);

如果我输入一个介于 1 到 2.111.111.999 之间的值,它可以正常工作,但是每次我运行它并输入大于该值时,都会出现此错误消息:

Exception in thread "main" java.util.InputMismatchException: For input string: "1000000000000"
at java.util.Scanner.nextInt(Scanner.java:2097)
at java.util.Scanner.nextInt(Scanner.java:2050)
at konversiangka.Konversiangka.main(Konversiangka.java:28)

Java 结果:1

我猜这是一个“数据类型”错误。我知道如果你想在长数据类型中存储一万亿,你必须在最后添加“L”的值(value),像这样,“1000000000000L”。但我不希望用户在程序中输入值时添加它,

那么你能帮我怎么做吗?感谢任何建议和更正,谢谢。

最佳答案

使用

long value = sc.nextLong();

相反。

错误的原因是可以放入int的最大值是2,147,483,647,即使您将变量声明为longScanner.nextInt() 总是尝试将数字转换为 int

关于java - 读取数万亿的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18811160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com