Java Median aus 3 ganzen zahlen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Vergiß, daß es drei Zahlen sind. Laß es eine Liste von einigen Zahlen sein. Sortiere diese Liste. Gib als Ergebnis das mittlere Element zurück, falls es die Anzahl ungerade ist. Falls die Anzahl gerade ist, gib etwas anderes sinnvolles zurück. (Die Wikipedia sagt, das arithmetische Mittel der beiden mittleren Elemente sei dann üblich.)

Der Vorteil dieser Vorgehensweise ist der: Die vielen logischen Fallunterscheidungen, die TheFortune95 bei seinem Ansatz alle selbst untersuchen muß, sind bei der sort-Methode der Liste schon fertig eingebaut. (Siehe: Collections-Interface. Die Listen-Klassen verstehen dieses Interface. https://docs.oracle.com/javase/7/docs/api/java/util/Collections.html)

Wenn es immer 3 Zahlen sind, kannst Du natürlich einfach aus der sortierten Liste das mittlere Element als Lösung nehmen und brauchst nicht erst nachsehen, ob die Anzahl ungerade ist! :-)

(Ich habe oben nur den Allgemeinfall erklärt. Wollte Dir damit keinen Schrecken einjagen. Die Begründung, warum Du es so machen solltest, gilt so oder so.)

0

Man könnte die Frage auch so formulieren:

Ich hab' keine Lust auf meine Hausaufgaben - Ist einer hier so dumm und macht sie für mich?

Ich habe lediglich um Vorschläge gebeten, eine solche Antwort ist mehr als überflüssig.

0
@TheFortune95

Nein, denn Hausaufgaben sind gegen die Richtlinien...zumindest wenn der Fragesteller dabei absolut nichts tut.

Wechsel den Kurs. In Informatik versagst du offenbar.

0

public class Median { public static void main( String[] args) { final int a = Integer.parseInt(args[0]); final int b = Integer.parseInt(args[1]); final int c = Integer.parseInt(args[2]); if(a < b) if(b < c) System.out.println(b); else if(a < c) System.out.println(c); else System.out.println(a); else if(b < c) if(a < c) System.out.println(a); else System.out.println(c); else System.out.println(b); } }

Verbesserungsvorschläge?

0
@TheFortune95

Damit die Formatierung nicht kaputt geht, als Code posten. Das geht so:

  • Den Code von oben bis unten mit der Maus markieren
  • Auf den Button mit dem blauen <> klicken
  • Kommentar abschicken.

Das Ergebnis sieht dann so aus:

public class median2 { 

public static void main( String[] args) { 
    final int a = Integer.parseInt(args[0]); 
    final int b = Integer.parseInt(args[1]); 
    final int c = Integer.parseInt(args[2]); 

    if(a < b) 
        if(b < c) 
            System.out.println(b); 
        else 
            if(a < c)
                System.out.println(c); 
            else 
                System.out.println(a); 
    else    
        if(b < c) 
            if(a < c) 
                System.out.println(a); 
            else 
                System.out.println(c); 
        else 
            System.out.println(b); 
    } 
}

An die Redaktion: Viele haben diese Vorgehensweise noch nicht mitbekommen. Überlegt bitte mal, ob man die Bedienung des Editors vielleicht verständlicher machen kann.

1
@Franz1957

Ich habe den Namen Deiner Klasse verändert, in median2 statt Median. Das hat keinen besonderen Grund und war nur für meine Experimentierumgebung gerade praktisch.

1

Boxplots. Median berechnen

Hei also in der aufgabe ist ein boxplot abgebildet. Der balken umfasst die zahlen 20-30. Der median ist bei 23 eingezeichnet. Jz wuerde ich gerne wissen wie die auf 23 gekommen sind... weil wenn ich die zahlen zsm rechne und durch die anzahl teile dann komme ich auf 25... bitte um hilfe!

...zur Frage

Wo finde ich ein einfaches Rechenprogramm für Java?

Wir programieren momentan und ich brauche ein einfaches Rechenprogramm für Java welches in der Cmd ausgeführt wird und die Operationen + & - & * & / rechnen kann.

Mann soll 2 Zahlen eingeben und er soll die einzelnen operationen damit verwende. Wäre toll wenns einer mir schickt oder nen link angibt wo es das gibt.

Vilen Dank:)

...zur Frage

Ich hab ein paar Fragen zu c++ und Java?

  1. Warum ist c++ beim Zählen schneller als Java, aber wenn das Programm die gezählten Zahlen ausgeben soll wird er langsammer als Java?
  2. In welchen Gebieten benutzt man C++ und Java?
  3. Wie funktionieren die Bibliotheken bei diesen beiden Sprachen?
...zur Frage

Java Scanner mehrere Zahlen

Wie kann bei Java mit dem Scanner mehrere Zahlen eingeben? Also man kann ja zum Beispiel mit scan.nextInt(); eine Zahl eingeben. Wie kann man mehrere Zahlen auf einmal eingeben?

...zur Frage

Wie Tic Tac Toe mit Java Hamster programmieren ( imperatives Programm )?

Hi, ich würde gerne Programmieren lernen und habe mir dazu den Java Hamster Simulator runtergeladen. Ich habe auch schon viel gelernt ( Variablen, Befehle, usw. ), aber ich weiss nicht, wie ich das Wissen einsetzen kann, um ein Tic Tac Toe - Spiel zu programmieren?

Ich würde am liebsten gegen einen Computer spielen, aber zu zweit wäre es auch toll.

Hat jemand ein paar Lösungsvorschläge oder - ansätze, damit ich mir so ein Spiel programmieren kann?

Mein Problem: Ich weiss schon sehr viel über Java Hamster, aber weiss nicht, wie ich mein Wissen in ein Tic Tac Toe Spiel vereinen kann...

Danke

...zur Frage

unterschied zwichen .class und .java datei..

was ist denn beim programieren der unterschid bzw. was ist das im allgemeinen hab echt keine anhnung mfg

...zur Frage

Was möchtest Du wissen?