Tenho um arquivo de texto com 12 colunas. Cada coluna tem um título e um float ou string na coluna, por exemplo
A B time
-0.042 centre 00:00:03
Cada coluna é separada por um espaço.Eu gostaria de calcular a média dos números em cada coluna. Mais tarde, vou calcular a média das colunas para certos intervalos de tempo e compará-la com a média geral. Portanto, imaginei que seria mais fácil colocar todos os elementos em uma matriz e chamar essa matriz de título da coluna. Não tenho certeza de como fazer várias matrizes ou listas, uma para cada coluna e como pular uma coluna se ela tiver apenas strings. Estou usando um try catch para o arquivo de texto. Aqui está o que eu tenho para o meu teste até agora:
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();
}
Respostas:
0 para resposta № 1Não tenho certeza de como fazer várias matrizes ou listas, uma para cada coluna
Você poderia usar um List
de colunas (ou linhas), onde cada coluna (ou linha) é novamente representada por um List
:
List<List<Integer>> columns = new ArrayList<>();
Esta postagem fornece mais informações sobre como trabalhar com uma lista de listas: Trabalho com uma lista de listas em Java