Supportnet / Forum / Anwendungen(Java,C++...)
Beliebige Zahlenreihe; java
Frage
Hallo!
Ich möchte in Java eine beliebige Zahlen folge einlesen lassen, um daraus den Median zu errechnen, weiß aber nicht wie!
Die Folge soll nicht begrenzt sein, ein Array hilft also nicht.
Vielen dank für eure Hilfe!!
Antwort 1 von Marvin42
Dafür gibt es die Klassen List und LinkedList, in die man (vom Arbeitsspeicher begrenzt...) beliebig viele Objekte packen kann und die sich mit Methoden aus der Klasse Collections sortieren lässt.
Läuft so ab Java5.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class Median {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<Integer> l = new LinkedList<Integer>();
try {
String s = br.readLine();
while (!s.equals("") && s != null) {
try {
l.add(Integer.parseInt(s));
} catch (NumberFormatException n) {
System.err.println("Das war keine Zahl.");
}
s = br.readLine();
}
} catch (IOException i) {
System.err.println("Fehler beim Lesen.");
}
Collections.sort(l);
System.out.println(l.get(l.size() / 2));
}
}Läuft so ab Java5.

