gpt4 book ai didi

java - 如何从文件中读取java中的double

转载 作者:行者123 更新时间:2023-11-30 10:49:15 24 4
gpt4 key购买 nike

我正在尝试从一个文件中读取一个 double 值,但我遇到了这个异常:java.util.InputMismatchException。我试过做 useLocale(Locale.US) 但是它不起作用。

这是我的代码

public static void main(String[] args){
System.out.println("Introduce the name of the file");
Scanner teclat = new Scanner(System.in);
teclat.useLocale(Locale.US);
Scanner fitxer = new Scanner(new File(teclat.nextLine()));
while(fitxer.hasNext()){
String origen=fitxer.next();
String desti=fitxer.next();
double distancia=fitxer.nextDouble();
System.out.println(origen);
System.out.println(desti);
System.out.println(distancia);
...

}
}

现在这是我必须阅读的文件的内容。

city1 city2距离(km)

字符串字符串双

Barcelona Madrid 3005.15
Barcelona Valencia 750
Los_Angeles Toronto 8026.3
......

最佳答案

你可以这样:

String str = "Barcelona Madrid 3005.15";
double value = Double.parseDouble(str.split(" ")[2]);

或者,如果你想使用正则表达式,你也可以按如下方式进行:

Pattern pattern = Pattern.compile("\\d+\\.\\d+");
Matcher matcher = pattern.matcher("Barcelona Madrid 3005.15");
if (matcher.find()) {
double value = Double.parseDouble(matcher.group());
System.out.println("value = " + value);
}

希望这对您有所帮助。

关于java - 如何从文件中读取java中的double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35477731/

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