double[] ventas = {1500.0, 2300.0, 1800.0, 0.0};
OptionalDouble promedio = Arrays.stream(ventas)
.filter(v -> v > 0)
.average();
System.out.println("Promedio: $" + promedio.getAsDouble()); 📥 Inputs:
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
El bug tiene dos problemas: (1) Usar filter() antes de average() excluye datos válidos (días sin ventas = 0) y distorsiona el promedio. (2) Llamar getAsDouble() sin verificar isPresent() puede causar excepción. La solución correcta: calcular el promedio de TODOS los valores y usar orElse(0.0) para manejar el caso de array vacío de forma segura.
¿Cuál es el bug? 🐛