gpt4 book ai didi

java - 有没有办法使用 Scanner 对象在文本文档中搜索特定数据?

转载 作者:行者123 更新时间:2023-11-29 05:19:33 25 4
gpt4 key购买 nike

我正在制作一个从格式化文本文档中读取数据的程序:

Planetary Data

Planet Diameter (km) Mass (kg) g (m/s^2)

  • Mercury 4880 3.30E+23 3.70
  • Venus 12104 4.87E+24 8.87
  • Earth 12756 5.97E+24 9.79
  • Mars 6794 6.24E+23 3.61
  • Jupiter 142984 1.90E+27 24.80
  • Saturn 120536 5.68E+26 10.43
  • Uranus 51118 8.68E+25 8.86
  • Neptune 49352 1.02E+26 11.17

在文本文件中,它更漂亮一些,但基本上它是一个四栏文档,每栏都有一个数字信息。我正在使用扫描仪类来尝试只读取最后一列数字,但无法找到一种简单的方法来完成此操作而无需使用大量的 nextLine() 调用。有没有更好的方法来只搜索那些替身,然后用扫描仪将它们拉到一个数组中?

此代码可以编译,但我一运行就收到不匹配错误。

public static double [] getGravity()throws IOException{
Scanner inFile = new Scanner(new File("PlanetaryData.txt"));
double [] getGrav = new double[8];
for(int i = 0; i < 8; i++){
getGrav[i] = inFile.nextDouble();
getGrav[i] /= 10;
System.out.println(getGrav[i]);
}
return getGrav;
}

最佳答案

假设您的文本文件结构如下:

Mercury 4880 3.30E+23 3.70
Venus 12104 4.87E+24 8.87
Earth 12756 5.97E+24 9.79
Mars 6794 6.24E+23 3.61
Jupiter 142984 1.90E+27 24.80
Saturn 120536 5.68E+26 10.43
Uranus 51118 8.68E+25 8.86
Neptune 49352 1.02E+26 11.17

你可以试试这个:

public static double [] getGravity()throws IOException{
Scanner inFile = new Scanner(new File("PlanetaryData.txt"));
double [] getGrav = new double[8];
for(int i = 0; i < 8; i++){
getGrav[i] = inFile.nextLine().split("\\s+")[3];
System.out.println(getGrav[i]);
}
return getGrav;
}

关于java - 有没有办法使用 Scanner 对象在文本文档中搜索特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25319730/

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