Hallo,
ich bin dabei ein simple Klasse zu schreiben, die 100 zufällige double-werte eines Streams nach Größe (5) filtert und dann das Produkt dieser ausgibt. Dabei soll die Schnittstelle DoubleBinaryOperator benutzt werden, um den passenden Lambda-Ausdruck für die Methode reduce zu übergeben. Nun ist das Ergebnis nach Aufruf der reduce-Methode aber immer kleiner als 5, was für mich keinen Sinn ergibt.
Was genau ist das Problem?
ich bin dabei ein simple Klasse zu schreiben, die 100 zufällige double-werte eines Streams nach Größe (5) filtert und dann das Produkt dieser ausgibt. Dabei soll die Schnittstelle DoubleBinaryOperator benutzt werden, um den passenden Lambda-Ausdruck für die Methode reduce zu übergeben. Nun ist das Ergebnis nach Aufruf der reduce-Methode aber immer kleiner als 5, was für mich keinen Sinn ergibt.
Was genau ist das Problem?
Java:
public class Klasse {
public static void main(String args[]) {
DoubleStream stream = new Random().doubles(100, 0.0, 10.0);
DoubleBinaryOperator op = (n, m) -> {return n * m;};
double product = stream.filter(n -> n > 5).reduce(1.0, (x, y) -> op.applyAsDouble(x,y));
System.out.println(product);
}
}