package Arrays;

import java.util.Scanner;

public class Ejercicios_P1 {
	public static void main(String[] args) {
		// ej1();
		// ej2();
		// ej3();
		// ej4();
		ej5();
	}

	public static void ej1() {
		Scanner sc = new Scanner(System.in);

		// Ejercicio 1. Crea un array de 10 elementos, asigna el valor que desees,
		// y escribe un programa que recorra el array y realice un sumatorio.

		int[] elementos = new int[10];

		// Estructura para almacenar la información
		for (int i = 0; i < elementos.length; i++) {
			System.out.println("Dame un numero " + (i + 1));
			elementos[i] = sc.nextInt();
		}

		// Estructura para realizar el sumatorio
		int sumatorio = 0;
		for (int i = 0; i < elementos.length; i++) {
			sumatorio += elementos[i];
		}

		// Impresión del sumatorio.
		System.out.println("Sumatorio: " + sumatorio);
	}

	public static void ej2() {
		// Dado un array de 5 posiciones dadas, indica el número mayor. y el menor.
		int[] numeros1 = { 4, 3, 5, 8, 2 };
		int numMinimo = Integer.MAX_VALUE;
		int numMaximo = Integer.MIN_VALUE;

		for (int i = 0; i < numeros1.length; i++) {

			// Quiero saber si es menor mi número, para asignarlo como mínimo
			if (numeros1[i] < numMinimo) {
				numMinimo = numeros1[i];
			}

			if (numeros1[i] > numMaximo) {
				numMaximo = numeros1[i];
			}
		}

		System.out.println(" El minimo es " + numMinimo);
		System.out.println(" El maximo es " + numMaximo);
	}

	public static void ej3() {
		// Se da un array de 10 números, y se pretende contar los números pares e
		// impares mostrando el resultado al final.
		int numerosPares = 0;
		int numerosImpares = 0;
		int[] numeros2 = { 3, 7, 1, 9, 3, 5, 6, 8, 2, 9 };
		for (int i = 0; i < numeros2.length; i++) {
			if (numeros2[i] % 2 == 0) {
				numerosPares++;
			} else {
				numerosImpares++;
			}
		}
		System.out.println(" El contador de numeros pares es " + numerosPares);
		System.out.println(" El contador de numeros impares es " + numerosImpares);

	}

	public static void ej4() {
		// Declara un Array de String con los colores del arcoiris,
		// e imprime cada posición, invirtiendo el orden.
		// En lugar de empezar por la posición 0, empiezo por el final y acabo en la 0.

		String[] arcoiris = { "rojo", "naranja", "amarillo", "verde", "azul", "añil", "violeta" };
		for (int i = arcoiris.length - 1; i >= 0; i--) {
			System.out.println(" Los colores del arcoiris invertidos son: " + arcoiris[i]);
		}
	}

	public static void ej5() {
		Scanner sc = new Scanner(System.in);

		// Ejercicio 5. Se pide un número de alumnos, y a continuación el nombre y
		// las notas finales de cada alumno. Al final, se imprimen
		// los nombres con las puntuaciones, la puntuación máxima, mínima y la media de
		// notas.

		System.out.println(" ¿Cuantos alumnos hay en clase? ");
		int numAlumnos = sc.nextInt();

		String[] nombresAlumnos = new String[numAlumnos];
		double[] notasAlumnos = new double[numAlumnos];
		
		//De sc.nextInt a sc.nextLine
		sc.nextLine();
		
		//Rellenar el Array de NOMBRES
		for(int i=0;i<numAlumnos;i++) {
			System.out.println(" Dime el nombre ");
			nombresAlumnos[i]= sc.nextLine();
		}
		for(int i=0;i<notasAlumnos.length;i++) {
			System.out.println(" Dime la nota ");
			notasAlumnos[i]=sc.nextDouble();
		}
		
		//Imprimo el nombre en cuestión y la nota.
		
		for(int i=0; i<nombresAlumnos.length;i++) {
			System.out.println(nombresAlumnos[i]+" "+notasAlumnos[i]);
		}
		
		//Calculo máximo, mínimo y media.
		double notaMax= Integer.MIN_VALUE;
		double notaMin= Integer.MAX_VALUE;
		double notaMedia;
		double sumatorio=0;
		
		for(int i=0; i<notasAlumnos.length;i++) {
			if (notasAlumnos[i]>notaMax) {
				notaMax = notasAlumnos[i];
			}
			if (notasAlumnos[i]<notaMin) {
				notaMin = notasAlumnos[i];
			}
			sumatorio+=notasAlumnos[i];
		}
		
		notaMedia=sumatorio/notasAlumnos.length;
		
		//Muestro los datos calculados.
		
		
	}
}
