Array Mittleren Wert bestimmen

Hallo,
ich soll aus einem 1-Dim Array das Arithmetische Mittel berechnen.
Bsp:
[1,2,3,4] → 2.5
[] → 0
[-1,0,1] → 0

Ich habe es jetzt mal so probiert aber bei mir kommt bei geraden Werten immer der höhere Wert. Wie kann ich das berechnen, dass er den durchschnitt bei den 2 Werten nimmt.
Java:
public class Functionality {
    
    public static void main(String[] args) {
        int [] arr = {2,6,7,8};
        System.out.println(mean(arr));
    }

    public static double mean(int [] arr) {
        
        for(int i=0; i < arr.length; i++) {
            int least = i;
            for(int j = i+1; j  <arr.length; j++)
                if(arr[j] < arr[least])
                    least = j;
            if(least != i) {
                int swap = arr[i];
                arr[i] = arr[least];
                arr[least] = swap;
            }
        }
        

            int middle = arr[arr.length/2];
            double res =  middle;
            return res;
        
    }
}
 
Zuletzt bearbeitet:
ich soll aus einem 1-Dim Array das Arithmetische Mittel berechnen.
Was Du in den Beispielen zeigst ist der Median (aka Zentralwert), nicht das arithm. Mittel (aka Durchschnitt). Jetzt wäre halt die Frage, was Du nun wirklich haben willst? Median oder Durchschnitt?

Für den Median prüfst Du einfach ab, ob arr.length gerade ist. In dem Fall gibst Du den Durchschnitt von arr[arr.length / 2 - 1] und arr[arr.length / 2] zurück.
 
Das ist jetzt aber ein mathematisches Problem, weniger ein programmiertechnisches.

Mach's doch mal per Hand. Die Schritte, die du dann per Hand durchführst, setzt du 1:1 in Code um.

Würdest du per Hand einen Zahlenvergleich verwenden, um das arithmetische Mittel zu berechnen? Nein? Warum dann im Code?
 

Neue Themen


Zurück
Oben