Mittelwert anhand eines Stream berechnen

S

Sandro95

Aktives Mitglied
Hey Leute ,
eine alt klausuraufgabe war wie folgt : man soll eine neue methode schreiben die den Mittelwert aller Zahlen in der Liste die man übergibt berechnet. Und das anhand eines Streams

Die Methode war vorher gegeben :

Code:
 fold(List<Integer> liste, int reduce, binaryoperator<Integer>) {

Wie man zb eine fold Methode für eine Summe schreibt ist mir bewusst


Code:
public static int fold(Collection<Integer> list, int id, BinaryOperator<Integer> op) {
        
        return list.stream().reduce(id,op);
    }


// Main aufruf

        System.out.println(Numbers.fold(liste, 0 ,(a,b)-> (a+b)));

wie macht man das aber mit dem Mittelwert ?

lg
 
H

httpdigest

Top Contributor
Da (anders als bei der Summe) das arithmetische Mittel nicht ganzzahlig sein muss, brauchst du schonmal float/double oder eine andere Zahlenrepräsentation (und nicht int/Integer).
Hier sind aber die Rahmenbedingungen der Aufgabe noch nicht klar genug. Darfst du z.B. einfach die Signatur der fold-Methode anpassen?
Und muss die fold-Methode unbedingt genutzt werden?
Oder kannst du z.B. auch einfach einen IntStream nutzen, der von sich aus ein average() mitbringt.
Und muss die Propagation des Mittelwertes durch die Stream-fold/reduce-Operation selbst geschehen?
Am Ende des Tages ist das arithmetische Mittel ja einfach nur die Summe aller Elemente, geteilt durch die Anzahl der Elemente.
Im einfachsten Fall hätte ich es wohl so gelöst:
Java:
System.out.println((double) fold(liste, 0, (a, b) -> a+b) / liste.size());
Und: Was hat das bitte mit GUI-Programmierung ( AWT, Swing, JavaFX & SWT ) zu tun?
 
S

Sandro95

Aktives Mitglied
ja das wäre ausreichend , danke dir vielmals !
mir wurde das leider nur genauso weitergereicht mehr infos habe ich nicht
 
S

Sandro95

Aktives Mitglied
Da (anders als bei der Summe) das arithmetische Mittel nicht ganzzahlig sein muss, brauchst du schonmal float/double oder eine andere Zahlenrepräsentation (und nicht int/Integer).
Hier sind aber die Rahmenbedingungen der Aufgabe noch nicht klar genug. Darfst du z.B. einfach die Signatur der fold-Methode anpassen?
Und muss die fold-Methode unbedingt genutzt werden?
Oder kannst du z.B. auch einfach einen IntStream nutzen, der von sich aus ein average() mitbringt.
Und muss die Propagation des Mittelwertes durch die Stream-fold/reduce-Operation selbst geschehen?
Am Ende des Tages ist das arithmetische Mittel ja einfach nur die Summe aller Elemente, geteilt durch die Anzahl der Elemente.
Im einfachsten Fall hätte ich es wohl so gelöst:
Java:
System.out.println((double) fold(liste, 0, (a, b) -> a+b) / liste.size());
Und: Was hat das bitte mit GUI-Programmierung ( AWT, Swing, JavaFX & SWT ) zu tun?


Das passt aber nicht ,

für die zahlen :
liste.add(7);
liste.add(7);
liste.add(14);
liste.add(7);


bekomme ich als ergebnis :6.0 was nicht stimmen kann
 
H

httpdigest

Top Contributor
Ich weiss nicht, welchen Code du da ganz exakt ausgeführt hast, aber bei mir kommt hier 8.75 raus:
Java:
import java.util.*;
import java.util.function.BinaryOperator;
public class Numbers {
  private static int fold(Collection<Integer> list, int id, BinaryOperator<Integer> op) {
    return list.stream().reduce(id, op);
  }
  public static void main(String[] args) {
    List<Integer> liste = Arrays.asList(7, 7, 14, 7);
    System.out.println((double) fold(liste, 0, (a, b) -> a+b) / liste.size());
  }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Mittelwert einer Menge von Doubles berechnen Allgemeine Java-Themen 3
Curtis_MC Collections Liste anhand mehrere Kriterien sortieren Allgemeine Java-Themen 6
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
B Sprachdatei anhand von bestimmten Kriterien zerschneiden Allgemeine Java-Themen 0
E Datei anhand Datum identifizieren Allgemeine Java-Themen 3
B Objekte anhand von Properties file Allgemeine Java-Themen 41
H Liste sortieren anhand optionalem Property Allgemeine Java-Themen 3
D Liste anhand Standardnormalverteilung befüllen Allgemeine Java-Themen 1
L Object Instanz anhand eines Strings Allgemeine Java-Themen 10
J Berechnung anhand einer XML-Datei Allgemeine Java-Themen 3
C ArrayList anhand von zwei Attributen sortieren Allgemeine Java-Themen 4
S Bild anhand von Koordinaten einteilen Allgemeine Java-Themen 7
J ArrayList Objekte anhand Propertywerte filtern Allgemeine Java-Themen 3
C Threads anhand der CPU Cores erstellen? Allgemeine Java-Themen 2
multiholle Objekt einer Klasse anhand eines String erzeugen Allgemeine Java-Themen 3
G Richtung berechnen anhand Koordinaten Allgemeine Java-Themen 3
D LinkedList anhand einer long-Variable der Objekte sortieren Allgemeine Java-Themen 5
M Sound anhand von gegebener Frequenz abspielen Allgemeine Java-Themen 2
M Programmierstill: Bitte testen anhand HTML-Tool Allgemeine Java-Themen 18
C Jahre anhand eines Datums ermitteln Allgemeine Java-Themen 17
M ImageSize anhand eines Bildes aus einer HTML-Seite Allgemeine Java-Themen 2
L Direktes return eines Array geht nicht Allgemeine Java-Themen 20
kodela Breite eines erweiterten Monitors feststellen Allgemeine Java-Themen 5
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
T Wget mit Wildcards - oder wie lädt man bei JFrog die letzte Version eines Artifacts herunter Allgemeine Java-Themen 3
N Erkennen eines Programs Allgemeine Java-Themen 2
N Pausieren eines Programmes Allgemeine Java-Themen 4
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
F Wie bekommt man alle Filenamen eines Webserver Verzeichnisses Allgemeine Java-Themen 6
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
N Eigenschaften eines Buttons per Setter verändern Allgemeine Java-Themen 5
S Ausfuehrung eines Programms aufzeichnen..? Allgemeine Java-Themen 4
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
S Vorbereitung eines Praktikums Allgemeine Java-Themen 4
M Weiterleiten von empfangenen Nachrichten eines StompSessionHandlers Allgemeine Java-Themen 1
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
H Rename eines Projekts Allgemeine Java-Themen 1
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
scitex auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
Meeresgott Erste Schritte Sourcetree - Git | Suchen eines Commits Allgemeine Java-Themen 2
E Status eines USB Mikrofon abfragen Allgemeine Java-Themen 2
DaCrazyJavaExpert OOP Ansätze und Tipps zum Porgrammieren eines Taschenrechners Allgemeine Java-Themen 25
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
I Verbindung eines Java-Plugins mit Webserver Allgemeine Java-Themen 3
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
B Spalten eines 2d-Arrays Allgemeine Java-Themen 2
M Rechenprogramm eines wissenschaftlichen Taschenrechners Allgemeine Java-Themen 4
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
E Typüberprüfung eines chars Allgemeine Java-Themen 5
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
T Teile eines Double-Wertes verändern Allgemeine Java-Themen 2
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
H Datentypen Typ eines Arrays überprüfen Allgemeine Java-Themen 9
RalleYTN DPI eines Bildes ändern Allgemeine Java-Themen 4
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
K Bestimmten Bereich eines Strings lesen Allgemeine Java-Themen 6
C -Verschiedene Versionen eines Programms verwalten Allgemeine Java-Themen 7
O Datentypen Erstellung eines Containers, der verschachtelte Map-Strukturen beherbergen kann Allgemeine Java-Themen 0
A einmalige Ausführung eines Methodenabschnittes Allgemeine Java-Themen 3
F CPU Last eines Thread ausfindig machen Allgemeine Java-Themen 0
L Menge der Buchstaben eines Textes zählen Allgemeine Java-Themen 3
F Teil eines Bildes laden Allgemeine Java-Themen 1
N Operatoren regEx für das Erstellen eines Strings verwenden Allgemeine Java-Themen 3
P Löschen eines keys in einer SortedMap Allgemeine Java-Themen 5
RalleYTN Input/Output URL eines Zip Entry? Allgemeine Java-Themen 2
S Alle Methodenaufrufe eines Threads notieren..? Allgemeine Java-Themen 7
J NullPointerExeption bei Inizialisierung eines Arrays Allgemeine Java-Themen 3
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
L Implementierung eines AVT-Baums Allgemeine Java-Themen 2
D Größe der Zahlenkombinationen eines Arrays begrenzen Allgemeine Java-Themen 3
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
B Existenz eines Files max 30 sec prüfen Allgemeine Java-Themen 5
U Koordinaten alle Pixel eines Dreiecks zeichnen ausgeben Allgemeine Java-Themen 5
P Wie funktioniert das Feedback eines Klicks auf eine Java GUI Allgemeine Java-Themen 10
thet1983 nach teilen eines Dateinamens suchen Allgemeine Java-Themen 6
T Bezeichnung eines Objektes mit String/int kombinieren Allgemeine Java-Themen 3
Z Auswerten eines eingegeben Termes Allgemeine Java-Themen 13
X Registrierung eines Ecore-Models außerhalb der Eclipse-Umgebung Allgemeine Java-Themen 0
R Instanzen eines Programms Allgemeine Java-Themen 8
I Arbeitsmaterialien eines Softwareentwicklers? Allgemeine Java-Themen 7
L Größe eines Objekts im Arbeitsspeicher Allgemeine Java-Themen 1
D Name eines Nicht-String Objekts ausgeben Allgemeine Java-Themen 4
A Helligkeit eines Bildes berechnen Allgemeine Java-Themen 1
L Anzahl der Tage eines Monats Allgemeine Java-Themen 3
S Java Problem bei der Rückgabe eines Arrays Allgemeine Java-Themen 19
C Best Practice Tiefe Kopie eines Arrays unbekannter Dimension und unbekannten Typs Allgemeine Java-Themen 4
H Klassennamen zum Aufruf eines statischen Feldes aus Variable holen Allgemeine Java-Themen 4
C Methode für tiefe Kopie eines unbekannt (dimensionierten & typisierten) Feldes realisierbar? Allgemeine Java-Themen 7
M final vor dem parameter eines Konstruktors Allgemeine Java-Themen 1
B Hintergrundbild eines JFrames? Allgemeine Java-Themen 3
L Winkel eines Vektors berechnen [Anfängerprob] Allgemeine Java-Themen 5
Fab1 Komponenten eines zweiten Java Programms auslesen Allgemeine Java-Themen 8
T Mit Java auf die Konsole eines Process-Objekts zugreifen Allgemeine Java-Themen 10

Ähnliche Java Themen

Anzeige

Neue Themen


Oben