import java.util.Arrays;

public class ArraysUnidimensionales {
    public static void main(String[] args) throws Exception {
        // Arrays
        // double[] puntuacionesMates = new double[5];
        double[] puntuacionesMates = { 8.5, 2.3, 5.6, 3.5, 9.25 };
        // Array siempre empieza por 0

        System.out.println(puntuacionesMates); // Posición en memoria.

        // Si quiero imprimir el array¿?
        // System.out.println(Arrays.toString(puntuacionesMates)); //Forma automática

        for (int i = 0; i < puntuacionesMates.length; i++) {
            // Se trata de un límite abierto, no toca el límite (0,5), de forma que el
            // último elemento en este caso es el 4. (5-1), por eso se usa '<'' y no '<='

            // no es nunca igual al .lenght porque no queremos que lo toque al empezar el
            // array por 0
            if (i == 2) {
                // Escritura
                puntuacionesMates[i] = 10;
            }
        }

        for (int i = 0; i < puntuacionesMates.length; i++) {
            // Lectura de elemento
            double nota = puntuacionesMates[i];
            System.out.println("Posición " + i + ": " + nota);
        }

        System.out.println("Accediendo al último elemento");
        System.out.println(puntuacionesMates[puntuacionesMates.length - 1]);

        for (double nota : puntuacionesMates) {
            System.out.println("Nota: "+nota);
        }

        double[] puntuacionesBiologia = { 4.5, 2.3, 7.6, 6.5, 4.25 };


        System.out.println("La media de las notas de matemáticas es: "+mediaNotas(puntuacionesMates));
        System.out.println("La media de las notas de biologia es: "+mediaNotas(puntuacionesBiologia));

        

    }

    public static double mediaNotas(double[] array){
        //Incializa para poder utilizar e incrementar sumaNotas.
        double sumaNotas = 0;
        //Bucle for para recorrer el array que pasan como parámetro.
        for (int i = 0; i < array.length; i++) {

            //Recorrer cada uno de los elementos del array, mediante la variable i.
            
            double nota = array[i];
            //
            sumaNotas+=nota;
        }

        return sumaNotas/array.length;
    }
}
