Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Calculando estadisticas de las notas

import java.util.List;
import java.util.Optional;

public class Main {

public static void main(String[] args) {

    List<Double> notas = List.of(7.5, 8.0, 6.5, 9.0, 10.0);

    // Suma total usando reduce()
    double suma = notas.stream()
            .reduce(0.0, Double::sum);

    // Media
    double media = suma / notas.size();

    // Nota mínima
    double notaMinima = notas.stream()
            .min(Double::compare)
            .orElse(0.0);

    // Nota máxima
    double notaMaxima = notas.stream()
            .max(Double::compare)
            .orElse(0.0);

    System.out.println("La media de las notas es: " + media);
    System.out.println("La nota más baja fue: " + notaMinima);
    System.out.println("La nota más alta fue: " + notaMaxima);
}

}

1 respuesta

¡Hola Wilmer, espero que estés bien!

Tu código parece estar muy bien estructurado y cumple con los requisitos de la actividad. Estás utilizando correctamente las funciones de Stream para calcular la suma total, la media, la nota más baja y la más alta. Aquí te dejo un pequeño repaso de lo que has hecho:

  1. Suma total: Utilizaste reduce() para sumar todas las notas. Esto es perfecto para obtener la suma de una lista de números.

  2. Media: Dividiste la suma total por el tamaño de la lista para obtener la media. Esto es exactamente lo que se necesita.

  3. Nota mínima y máxima: Usaste min() y max() de Stream para encontrar las notas más baja y más alta, respectivamente. Esto es correcto y efectivo.

Tu salida debería coincidir con la esperada:

La media de las notas es: 8.2
La nota más baja fue: 6.5
La nota más alta fue: 10.0

Todo parece estar en orden. Si estás obteniendo estos resultados, ¡felicidades! Has logrado implementar correctamente el análisis de las notas.

Espero haber ayudado y buenos estudios!