blikk info infothek forum galerie sitemap

Berechnung des Median - in Java

anfang zurueck weiter ende nach oben

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Arrays;

     

public class Median {

   public static void main(String[] args) {

      //Begrüßungstext ausgeben

System.out.println("Willkommen zur Berechnung des Median!(in Java ;)");       

     //Objekt instanzieren, damit eine Texteingabe ermöglicht wird

BufferedReader eingabe = new BufferedReader (new InputStreamReader(System.in));

                 

     //Anzahl der Werte erfragen

     System.out.println("Wie viele Zahlen wollen Sie eingeben? ");

     int anzahl = 0;

     try {

        anzahl = Integer.parseInt(eingabe.readLine());

     } catch (NumberFormatException e) {

        System.out.println("Fehler: Number Format Exception");

     } catch (IOException e) {

        System.out.println("Fehler: IOException");

     }

                 

     //Array instanzieren

     int zahlenarray[] = new int[anzahl];

                 

                 

     //Eingabe der Zahlen mit einer FOR-Schleife

     for (int i = 0; i < anzahl; i++ ){

     try {

        System.out.println("Geben Sie die "+(i+1)+". Zahl ein:");

        zahlenarray[i]= Integer.parseInt(eingabe.readLine());

     } catch (NumberFormatException e) {

        System.out.println("Fehler: Number Format Exception");

     } catch (IOException e) {

        System.out.println("Fehler: IOException");

     }

     }

                 

     //der Array wird sortiert

     Arrays.sort(zahlenarray);

                 

     //mit einer IF-Bedingung wird die Anzahl der Werte überprüft

     //und anschließend der Median berechnet

     double median = 0;

     if (anzahl % 2 != 0) {

        median = zahlenarray[(anzahl)/2];

     } else {

        median =(zahlenarray[anzahl/2-1]+zahlenarray[anzahl/2])/2;

     }

                 

     //Ausgabe des Medians

     System.out.println("Der Median beträgt "+median);

                 

   }

           

}

 

nach oben