我如何告诉方法搜索 65 个浮点(或双精度)值的模式,全部在文本文件的一行中,使用文件阅读器读取,然后是缓冲阅读器,然后是扫描仪。
这样的方法:
findWithinHorizon(Pattern pattern, int Horizon);
返回该行中的所有 65 个浮点值?
(findWithinHorizon 是 Java.util.Scanner 类的一个方法,如果有帮助的话)
我如何告诉方法搜索 65 个浮点(或双精度)值的模式,全部在文本文件的一行中,使用文件阅读器读取,然后是缓冲阅读器,然后是扫描仪。
这样的方法:
findWithinHorizon(Pattern pattern, int Horizon);
返回该行中的所有 65 个浮点值?
(findWithinHorizon 是 Java.util.Scanner 类的一个方法,如果有帮助的话)
您不需要使用该findWithinHorizon()
方法,也不需要使用正则表达式。您可以使用Scanner
类中的简单方法和一些循环来完成。首先,创建一个新的 Scanner,其源是要读取的行:
Scanner file = new Scanner("myFile.txt");
for(int i = 1; i < lineNumberToRead; ++i)
file.nextLine();
Scanner line = new Scanner(file.nextLine());
然后,创建数组并从中获取值line
:
double[] array = new double[65];
for(int j = 0; j < array.length && line.hasNextDouble(); ++j)
array[j] = line.nextDouble();
编辑:既然您说有一个以 65 位小数开头的标记,请将此答案中的第一个代码示例替换为以下代码示例:
Scanner file = new Scanner("myFile.txt");
file.useDelimiter(tokenBeforeDecimals);
file.next();
Scanner line = new Scanner(file.nextLine());