Ho un file di testo con 12 colonne. Ad ogni colonna corrisponde un titolo e quindi un float o una stringa nella colonna, ad esempio
A B time
-0.042 centre 00:00:03
Ogni colonna è separata da uno spazio. Vorrei calcolare la media dei numeri in ogni colonna. Più avanti calcolerò la media delle colonne per determinati intervalli di tempo e la confronterò con la media generale. Quindi ho pensato che fosse più facile mettere tutti gli elementi in un array e chiamare questo array come titolo della colonna. Non sono sicuro di come creare più array o elenchi, uno per ogni colonna e come saltare una colonna se contiene solo stringhe. Sto usando un try catch per il file di testo, ecco cosa ho provato finora:
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();
}
risposte:
0 per risposta № 1Non sono sicuro di come creare diversi array o elenchi, uno per ogni colonna
Potresti usare a List
di colonne (o righe), dove ogni colonna (o riga) è nuovamente rappresentata da a List
:
List<List<Integer>> columns = new ArrayList<>();
Questo post fornisce ulteriori informazioni sull'utilizzo di un elenco di elenchi: Lavorare con un elenco di elenchi in Java