【发布时间】:2019-12-13 07:00:47
【问题描述】:
我把它转换成一个String数组:
try (BufferedReader br = new BufferedReader(new FileReader("x.csv"))) {
String line;
while ((line = br.readLine()) != null) {
String[] values = line.split("\n");
x_values.add(Arrays.asList(values));
}
} catch (IOException e) {
e.printStackTrace();
}
输出是这样的: output
但我想将值用作整数并找到它们的平均值。我该怎么做?
【问题讨论】:
-
这是整数的真实格式还是它们在电子表格中的显示方式?请将(正确的)示例值作为文本发布到您的问题中。
-
首先修复您拥有的代码。使用您的调试器。在代码中使用 println 来了解您在做什么。在 "\n" 上分割一行没有多大意义。一旦你真的有一个字符串数组,将每个字符串解析为一个整数。
-
您可以在单个字符串上使用
Integer.parseInt(text),并将它们收集到int[]。总的来说,这听起来像是一个糟糕的方法。转到 OOP,创建一个专用类来逻辑地表示您每行拥有的数据。给它一个parseLine方法,从给定的行创建它。然后简单地阅读做List<Foo> foos = Files.lines(Paths,get("file.csv")).map(Foo::parseLine).collect(Collectors.toList());- 现代Java,万岁。
标签: java arrays csv int genetic