online 1
gast (50)

/ Forum / Anwendungen(Java,C++...)

Anwendungen(Java,C++...)Anwendungen(Java,C++...)

Fragevon 1HELP1 vom 18.10.2020, 21:08 Options

Beliebige Zahlenreihe; java

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 schreiben

Antwort 1 von Marvin42 vom 18.10.2020, 22:32 Options

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.
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.

Ähnliche Themen

java hilfe
Zyasha  28.06.2007 - 148 Hits - 1 Antwort

Mehrere Packages in Java kompilieren
yasserino83  30.06.2007 - 86 Hits - 1 Antwort

*.java, wie aufrufen?
Marilana  17.01.2008 - 156 Hits - 2 Antworten

kleines java problem
der-bettler  21.01.2008 - 78 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026