0

我如何告诉方法搜索 65 个浮点(或双精度)值的模式,全部在文本文件的一行中,使用文件阅读器读取,然后是缓冲阅读器,然后是扫描仪。

这样的方法:

findWithinHorizon(Pattern pattern, int Horizon);

返回该行中的所有 65 个浮点值?

(findWithinHorizo​​n 是 Java.util.Scanner 类的一个方法,如果有帮助的话)

4

1 回答 1

0

您不需要使用该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());
于 2013-09-09T16:49:53.983 回答