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

Calculando estadísticas de las notas

List<Double> notas = List.of(7.5, 8.0, 6.5, 9.0, 10.0);
        double totalNotas = notas.stream().reduce(0.0, Double::sum);
        System.out.println("Suma total de notas: " + totalNotas + "\n");

        double media = totalNotas / notas.size();
        System.out.println("La media de las notas: " + media + "\n");

        double maxima = notas.stream().max(Double::compareTo)
                .orElse(0.0);
        double minima = notas.stream().min(Double::compareTo)
                .orElse(0.0);

        System.out.println("La nota más baja fue: " + minima + "\n");
        System.out.println("La nota más alta fue: " + maxima);

SALIDA:
Suma total de notas: 41.0

La media de las notas: 8.2

La nota más baja fue: 6.5

La nota más alta fue: 10.0

1 respuesta

Hola Jose, espero que estés bien

¡Espero que estés bien! Parece que estás en el camino correcto con tu código para calcular las estadísticas de las notas. Has logrado calcular la suma total, la media, y también has encontrado la nota más baja y la más alta utilizando Stream.

Aquí tienes una breve explicación de lo que hace cada parte de tu código:

  1. Suma total de las notas: Utilizas reduce(0.0, Double::sum) para sumar todas las notas de la lista. Esto es perfecto para obtener la suma total.

  2. Media de las notas: Calculas la media dividiendo la suma total por el número de elementos en la lista (notas.size()). Esto te da el promedio de las notas.

  3. Nota más baja y más alta: Utilizas max y min con Double::compareTo para encontrar la nota más alta y más baja respectivamente. Usar orElse(0.0) es una buena práctica para manejar el caso en que la lista pueda estar vacía.

Tu salida coincide con lo que se espera, así que parece que todo está funcionando correctamente. ¡Buen trabajo!

Espero que esta explicación te haya sido útil y te deseo mucho éxito en tus estudios de Java.

Espero haber ayudado y buenos estudios!