package Arrays;

import java.util.Scanner;

public class ArraysBidim {
    public static void main(String[] args) {
    //Ejercicio1();
        Ejercicio2();



    }
    public static void Ejercicio2(){
        Scanner sc = new Scanner(System.in);
        System.out.println("¿Cuántos corredores hay?");
        int numeroCorredores = sc.nextInt();
        sc.nextLine();
        String[] caracteristicas = {"Nombre", "Apellidos", "Dorsal", "País"};
        String[][] corredores = new String[numeroCorredores][caracteristicas.length];

        for (int i = 0; i < corredores.length; i++) {
            for (int j = 0; j < corredores[0].length; j++) {
                
            }

        }
    }















    public static void Ejercicio1(){
        //Al principio indicas cuantos patinadores se presentan la prueba.
        Scanner sc = new Scanner(System.in);

        System.out.println("¿Cuántos patinadores hay?");
        int numeroPatinadores = sc.nextInt(); //Soporta el tamaño de patinadores.
        sc.nextLine(); //Ponemos un nextLine vacío para que lo salte.
        String[] caracteristicas = {"nombre", "apellido", "pais"};

        //String[] patinadores = new String[20]; // 1 Dimensión (¡¡PERO TENEMOS DE 2 DIMENSIONES!!)
        String[][] patinadores = new String[numeroPatinadores][caracteristicas.length];
        // ¿Qúe significa conceptualmente cada fila?    Características de un patinador concreto.
        // ¿Qué significa conceptualmente cada columna? Cada una de las características de un patinador concreto.
        final int JUECES = 3;
        double[][] puntuaciones = new double[patinadores.length][JUECES];


        //FORMA INCORRECTA
        /*for (int i = 0; i < numeroPatinadores; i++) {
            System.out.println("Introduce el nombre del patinador " + i);
            String patinador = sc.nextLine();
            System.out.println("Introduce el apellido del patinador " + i);
            String apellido = sc.nextLine();
            System.out.println("Introduce el país del patinador " + i);
            String pais = sc.nextLine();
        }*/
        //¿Cómo puedo aprovechar en primer lugar una "estanteria" [Array] y en segundo lugar no sobreescribir las variables?

        //FORMA CORRECTA
        //* AHORA SI!. No solo no sobreescribo sino que relleno cada uno de las diferentes posiciones dentro del Array.
        /*for (int i = 0; i < numeroPatinadores; i++) {
            System.out.println("Introduce el nombre del patinador " + i);
            patinadores[i][0] = sc.nextLine();
            System.out.println("Introduce el apellido del patinador " + i);
            patinadores[i][1] = sc.nextLine();
            System.out.println("Introduce el país del patinador " + i);
            patinadores[i][2] = sc.nextLine();
        }*/


        //FORMA MÁS CORRECTA
        for (int i = 0; i < patinadores.length; i++) {
            for (int j = 0; j < patinadores[0].length; j++) {
                System.out.println("Introduce el " + caracteristicas[j] + " del participante " + (i + 1));
                patinadores[i][j] = sc.nextLine();
            }
        }

        for (int i = 0; i < puntuaciones.length; i++) {
            for (int j = 0; j < puntuaciones[0].length; j++) {
                //El mensaje por pantalla debe imprimir que patinador (nombre y apellido) va a recibir que puntuación (juez [número])
                System.out.println("JUEZ " + (j + 1) + " Introduce la puntuación del patinador " + patinadores[i][0] + " " + patinadores[i][1]);
                puntuaciones[i][j] = sc.nextDouble();
            }
        }

        //Por cada patinador calcules la media y la muestres al final cada patinador con su media (Array unidimensional almacenar la media de cada patinador)

        double[] media = new double[patinadores.length];

        double subMedia = 0; //Representa la media individual (como variable temporal)
        for (int i = 0; i < puntuaciones.length; i++) {
            //Empieza la iteración de cada participante
            subMedia = 0; //Se reinicia la variable temporal.
            for (int j = 0; j < puntuaciones[0].length; j++) {
                //En cada iteración lee cada puntuación.
                subMedia+=puntuaciones[i][j]; //Incrementa la puntuación localizada en un patinador (i) y juez concreto (j)
            }
            //He sumado todas las puntuaciones, obtengo la media.
            media[i]=subMedia/puntuaciones[0].length; //Siendo i también la representación de cada patinador con su media.
            //Si el primer patinador es Pepito, la primera media será Pepito (Respetamos la misma relación en cada array)
            String nombreComleto = patinadores[i][0]+" "+patinadores[i][1];
            System.out.println("La media de "+nombreComleto+" es de "+media[i]+" ptos.");
        }
    }
}
