3 回答
TA贡献1818条经验 获得超8个赞
这可以解决问题:
double[] arr = Files.lines(Paths.get(PATH))
.flatMap(line -> Arrays.stream(line.split(" ")))
.mapToDouble(Double::parseDouble)
.toArray();在这里,我们逐行读取文件,然后使用 将其拆分" ",解析每个数字并将其转换为double. 然后您可以arr[]从您的方法 返回gns(String TxtFile)。
TA贡献1993条经验 获得超6个赞
扫描仪#nextDouble
试试下面的一个,完整的例子如下:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class NextDouble {
public static void main(String[] args) throws FileNotFoundException {
Scanner sc = new Scanner(new File("input.txt"));
List<Double> doubles = new ArrayList<Double>();
while (sc.hasNextDouble()) {
doubles.add(sc.nextDouble());
}
System.out.println(doubles); // => [1.0, 3.0, 8.0, 6.0, 5.0]
}
}
input.txt 包含以下行:
1 3 8 6 5
您可以在文档中找到有关扫描仪的更多信息
TA贡献1777条经验 获得超3个赞
您正在尝试将Arr哪个类型设置double为一个ArrayList类型String,这是不可能的,因为类型double和类型ArrayList不同。
如果你想要一个双打数组列表,请使用
ArrayList<Double> d = new ArrayList<>();
添加回答
举报
