gpt4 book ai didi

java - 当我输入 double 时,nextDouble() 抛出一个 InputMismatchException

转载 作者:太空宇宙 更新时间:2023-11-04 09:59:13 25 4
gpt4 key购买 nike

import java.util.*;

class Averager
{
public static double unlimited()
{
int count = 0;
double sum = 0;
Scanner scan = new Scanner(System.in);
while(scan.hasNext())
{
double d = scan.nextDouble();
sum += d;
count++;
}
double ave = sum/count;
return ave;
}

public static void main(String[] args) {
System.out.println(unlimited()+"\n");
}
}

当我使用整数时没有错误,但如果我使用带有点的数字,则会出现错误。

$ javac Averager.java; java Averager
0.5
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextDouble(Scanner.java:2387)
at Averager.unlimited(Averager.java:12)
at Averager.main(Averager.java:21)

据我所知,0.5 应该被双倍覆盖。如果不对请有人纠正我。

最佳答案

它可能取决于区域设置。例如,十进制数字在瑞典写为 0,5。

更改您的代码,使其显示例如:

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

关于java - 当我输入 double 时,nextDouble() 抛出一个 InputMismatchException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53710224/

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