java - java,通过扫描仪方法输入双精度值,数字返回小数错误
问题描述
作为一个java新手,我写下了这段代码:
import java.util.Scanner;
public class EserciziCap2_6_2 {
public static void main(String[] args) {
Scanner aaa = new Scanner (System.in);
System.out.println("inserire x");
Double x = aaa.nextDouble();
System.out.println(x);
}
}
它可以正常工作,没有十进制值,例如 4 返回 4.0,2 返回 2.0,依此类推。但是,如果我输入 1.14,它会返回以下错误:
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
at EserciziCap2_6_2.main(EserciziCap2_6_2.java:8)
怎么了?
解决方案
您必须输入“,”而不是“.”。如果你想使用“。” 作为逗号使用:
public static void main(String[] args) {
Scanner aaa = new Scanner (System.in);
System.out.println("inserire x");
String input = aaa.nextLine().replace(".", ",");
Double x = Double.parseDouble(input);
System.out.println(x);
}
推荐阅读
- fortran - 如何在 Fortran 中获得柯西分布?
- android - 从 Android 中的任何 Fragment 捕获 MainActivity 中的键盘按下事件
- c++ - 朋友类可以从 C++ 中的朋友类创建对象吗?
- android - 我可以在导航组件中使用多个 NavHostFragment 吗?
- ms-access-2010 - 代码添加另一条记录而不是更新它
- php - Mysqli::begin_transaction 在 php fork 中失败
- javascript - CKEditor 5 功能开启/关闭标题
- java - 如何验证 Java 的 git 提交消息?
- python - python: sub() 函数用法
- python - doc2vec 不准确的余弦相似度