Berechnung Median mit Methode

bluesman1989

Mitglied
Hi,

sitze gerade an meiner Klausurvorbereitung in Java, an folgener Aufgabenstellung.

12160

den Mittwelwert konnte ich mit einer Methode berechnen.
Der Median und Modalwert müsste eigentlich mit einer if-Verzweigung zu berechnen sein, aber keine Ahnung wie ich das umsetzen soll.
Kann mir da vll jemand auf die Sprünge helfen?

Danke schonmal im Voraus 🙂
 
Für den Median musst du nur jede Zahl mit jeder anderen Zahl vergleichen. Wenn a > b und b > c, dann weißt du schon mal, dass `b` der Median ist. Jetzt musst du nur alle Kombinationen probieren. Ich nehme mal an, du darfst nicht die Collections API mit Collections.sort() verwenden.
Vielleicht darfst du ja Math.min(int, int) und Math.max(int, int) verwenden (oder du schreibst dir die selber), dann ist die Lösung ein Einzeiler.
 
ja, das ist mir bewusst und auch kein problem... es scheitert eher etwas am syntax. was muss ich denn zb zurückgeben, wenn c der median ist, wie zb in diesem code? ich definiere hier die methode außerhalb der main und will dann in der main die methode aufrufen und das ergebnis ausgeben...

12161

PS: mir ist bewusst, dass das so falsch ist 😉
 
In diesem Fall wäre `b` der Median und du gibst `b` einfach mit `return b;` zurück. Die Methode ist rot, weil nicht jeder Codepfad einen Wert zurückgibt. Aufruf dann einfach per `median(a, b, c)` wobei `a`, `b` und `c` die Eingabevariablen sind.
 
Für den Median musst du nur jede Zahl mit jeder anderen Zahl vergleichen. Wenn a > b und b > c, dann weißt du schon mal, dass `b` der Median ist. Jetzt musst du nur alle Kombinationen probieren. Ich nehme mal an, du darfst nicht die Collections API mit Collections.sort() verwenden.
Vielleicht darfst du ja Math.min(int, int) und Math.max(int, int) verwenden (oder du schreibst dir die selber), dann ist die Lösung ein Einzeiler.

also, wenn ich etwas benutzen darf, ist das als hinweis in der aufgabe drin. wie gesagt, es sind nur übungen, keine richtigen Klausuraufgaben...
 
Danke für die Antwort 😀 ich war da schon auf dem richtigen weg^^ Mich hat nur der error etwas verwirrt 😀

Ich poste mal mein ergebnis, wenn ich mit der Aufgabe fertig bin 😀
 
Hier meine Lösung zur Aufgabe 😀 denke das dürfte so richtig sein, zumindest gibt die Konsole alles richtig aus, wenn ich die Werte entsprechend ändere...

Java:
package median_mittelwert_modalwert;

public class MedianMittelwertModalwert {
    
    static int med;
    
    // Methode Mittelwert/Durchschnitt
    static double mittelwert(double a, double b, double c) {
        
        return (a + b + c) / 3;
    }
    
    // Methode Median
     static int median(int a, int b, int c) {
         if(a < b && b < c) {
            return b;
         } else if(b < a && a < c) {
             return a;
         } else {     
            return c;
         }
     }
    
     //Methode Modalwert
     static int modal(int a, int  b, int c) {
         if(a != b && b == c ) {
             return c;
         }
         else {
             return a;
         }
     }
    
    
    
    
    public static void main(String[] args) {
        
        //Aufruf d. Methode mittelwert, Übergabe an ergebnis, dann Ausgabe von ergebnis
        double ergebnis_mittel;
        ergebnis_mittel = mittelwert(25.0, 8, 13);
        System.out.println("Mittelwert " +ergebnis_mittel);
        
        // Aufruf d Methode Median + Ausgabe d. Ergebnis
        int ergebnis_median;
        ergebnis_median = median(25, 8, 13);
        System.out.println("Median: " +ergebnis_median);
        
        //Aufruf der Methode modal + Ausgabe
        int ergebnis_modal;
        ergebnis_modal = modal(25, 8, 13);
        System.out.println("Modalwert: "+ergebnis_modal);
        
    }

}
 

Neue Themen


Zurück
Oben