我想知道如何在我的 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”,比如“1000000000000L”。但我不希望用户在程序中输入值时添加它,
那么你能帮我怎么做吗?我感谢任何建议和更正,谢谢。