Zahlenfolge sortieren und daraus Median ermitteln

stoni09

Neues Mitglied
Hallo bin neu hier und habe grade angefangen mit Java.
Habe nun eine Aufgabe zu bearbeiten in der ich eine unsortierte Zahlenfolge sortieren muss und dann
den Median ermitteln soll.
Ok die Zahlen folge hab ich sortiert aber leider wird mir der median nicht richtig ausgegeben allerdings nur bei einer geraden anzahl an zahlen bei ungeraden wird er mir richtig ausgegeben kann mir da vielleicht jemand helfen. oder mir zumindest einen tip geben wo der Fehler liegt
danke schon mal
Java:
import java.util.*;
class median
{
 public static void main(String args[])
 {
     int[] median1 = {22,0,4,2,62,262,25,2,86,7,21,6,9,2,1,5,11,45};
     int rest;
     double median;
         
     Arrays.sort(median1);
     for (int i = 0; i < median1.length; i++)
     
     System.out.print(median1[i]+",");
     System.out.println();
         
        if (median1.length % 2 == 0)//prüft ob eine gerade oder ungerade anzahl an werten vorhanden ist
                median = median1[(((median1.length/2+1) + (median1.length/2))/2)];
                
            else 
                median = median1[median1.length/2];
      
                
      System.out.println("Der Median ist: " + median);
    }
}
 
S

SlaterB

Gast
median1[(((median1.length/2+1) + (median1.length/2))/2)] ist einfach nur grotesk, was immer das bedeuten soll

beschreibe doch zunächst in Worten und Beispielen was du vorhast,
was ist für dich der Median im Falle einer geraden Anzahl, z.B. bei 8 Elementen, was willst du haben?
ein Element mit genau welchem Index? oder die Summe von zwei Elementen?

wenn du das gedanklich geklärt hast, kann man es umsetzen,
vielleicht sind deine Gedanken schon geordnet, der einzig vorhandene Hinweis auf deine Gedanken,
median1[(((median1.length/2+1) + (median1.length/2))/2)], läßt einen aber erstarren ;)
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Oben