gpt4 book ai didi

java - 我想在 Java 中用点而不是逗号输入 double 值,但出现异常

转载 作者:行者123 更新时间:2023-12-01 19:42:30 29 4
gpt4 key购买 nike

嗨,我几天前开始自学java。我正在尝试编写我的第一个基本方法,但遇到了问题。

public class CollectInput {

public static void collectInput() {


System.out.println("Collect input double data!" + "\n\n");

CustomUserInputData CustomData = new CustomUserInputData();
Scanner userDataInput = new Scanner(System.in);

System.out.println("Enter the first double value:");
CustomUserInputData.setFirstDoubleData(userDataInput.nextDouble());

当我运行此代码并使用逗号输入 double 值时,例如:

3,2345

没问题。

但是当我想以如下格式输入 double 值时:

3.2345

Java 抛出异常:

Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Unknown Source)
at java.base/java.util.Scanner.next(Unknown Source)
at java.base/java.util.Scanner.nextDouble(Unknown Source)

为了获取带有点而不是逗号的输入数据,我需要做什么?

提前谢谢您。

最佳答案

我假设您的系统默认区域设置是使用 , 作为小数点分隔符的区域设置。

假设您想继续使用 Scanner,只需使用 useLocale 将区域设置设置为 Locale.US 。美国语言环境使用 . 作为小数点分隔符:

Scanner userDataInput = new Scanner(System.in).useLocale(Locale.US);
... // Code as before

关于java - 我想在 Java 中用点而不是逗号输入 double 值,但出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54840699/

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