【发布时间】:2017-02-20 20:36:12
【问题描述】:
我有一个包含 12 列的文本文件。每列都有一个标题,然后是列中的浮点数或字符串,例如
A B time
-0.042 centre 00:00:03
每列由空格分隔。 我想计算每列中数字的平均值。稍后我将计算特定时间间隔的列的平均值并将其与整体平均值进行比较。所以我认为将所有元素放在一个数组中并将这个数组称为列的标题可能是最简单的。我不确定如何制作多个数组或列表,每列一个,以及如何跳过只有字符串的列。 我正在对文本文件使用 try catch。到目前为止,这是我的尝试:
try {
FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
ArrayList<Integer> lines = new ArrayList<Integer>();
Float columns = 12;
while((num_line = bufferedReader.readLine()) != null) {
lines.add(Float.valueOf(line.split(" ")[columns-1]));
}
for(int l:lines){
sum+=l;
}
float average = (float)sum/lines.size();
bufferedReader.close();
}
【问题讨论】:
-
当有一个字符串需要尝试捕获时,您将收到 Float.valueOf(line.split(" ")[columns-1]) 错误。
-
您尝试解决问题的第二部分“...如果只有字符串,如何跳过列”?