gpt4 book ai didi

java - 当我用逗号或点分隔小数时,扫描会加倍

转载 作者:行者123 更新时间:2023-12-03 20:23:03 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Scanner double value - InputMismatchException

(2 个回答)


10 个月前关闭。




我对 Java 比较陌生,我正在制作一个简单的计算器。问题是当我输入的数字是例如“3.1”时,它会给出一个异常错误,但是当写入“3,1”时它工作得很好。

然而,我的 friend 有一个稍微更高级的计算器(带字符串解析),当我运行他的代码时,情况正好相反:3,1 给出异常错误,3.1 完美运行。

我很期待知道是什么导致了这些不同的行为。

我刚刚做了这个简单的总结,同样的事情发生了,我会在几分钟内编辑并放置他的计算器代码

import java.util.Scanner;

public class Tutorial_7 {
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
double num1, num2;

System.out.println("Introduza os dois números");

System.out.println("1º: ");
num1 = scan.nextDouble();
System.out.println("2º: ");
num2 = scan.nextDouble();

System.out.println((num1 + num2));
scan.close();
}

}

最终编辑:他确实使用了 Double.parseDouble() .明白了,区别确实在于它的本地化位置。应该寻找它,但以前从未听说过这个概念。

谢谢

最佳答案

因为你用的是差异Local因为那个人可以用一个点扫描它.另一个带逗号 ,要修复它,您应该像这样为您的扫描仪修复一个:

Scanner scan = new Scanner(System.in).useLocale(Locale.US);

例如:
  • 如果您正在使用 Local.US你应该用 . 扫描你的替身
    喜欢 6.6
  • 如果您正在使用 Locale.FRENCH你应该用,喜欢 6,6
  • 关于java - 当我用逗号或点分隔小数时,扫描会加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42332273/

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