Ich brauche Hilfe beim bestimmen vom Maximum und Minimum wert aus einer CSV-Datei.
Den Durchschnitt geht zu berechnen, nur Minimum und Maximum geht nicht.
Hab nichts gefunden, was sich auf das einlesen einer Datei konzentriert.
Wäre schön, wenn jmd. mir helfen könnte.
Den Durchschnitt geht zu berechnen, nur Minimum und Maximum geht nicht.
Hab nichts gefunden, was sich auf das einlesen einer Datei konzentriert.
Wäre schön, wenn jmd. mir helfen könnte.
Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Collections;
import java.util.LinkedList;
public class DatenHalter {
static int welchezeile = 0;
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(new File("C:/Action!/Benchmarks/ACBSP 19-01-2014 13-58-02.csv")));
} catch(FileNotFoundException e) {
e.printStackTrace();
System.err.println("Fehler beim Öffnen der Datei!");
return;
}
LinkedList<String> rows = new LinkedList<String>();
try {
for(String tmp = null; (tmp = reader.readLine()) != null;) {
rows.add(tmp);
welchezeile++;
}
} catch(IOException e) {
e.printStackTrace();
close(reader);
return;
}
close(reader);
double sum = 0;
for(String row : rows) {
double number = 0;
try {
number = Double.valueOf(row.replaceAll(",","."));
} catch(NumberFormatException e) {
e.printStackTrace();
System.err.println("Fehler: Eine Zeile hat ein fehlerhaftes Format!");
continue;
}
sum += number;
}
sum /= welchezeile;
sum = Math.round(sum*1000)/1000.0;
System.out.println("Alle Zeilen:");
for(String row : rows) {
System.out.println(row);
}
System.out.println("\nDer Durchschnitt beträgt: " + sum);
System.out.println("Insgesamt sind es: " + welchezeile + " Zeilen");
}
private static void close(Reader r) {
try {
r.close();
} catch(IOException e) {
e.printStackTrace();
System.err.println("Fehler beim Schließen des Readers!");
}
}
}