package tutorialJava.capitulo4_Arrays;

import java.util.Scanner;

public class Ej01_EjemploArraysPrimitivos {
	
	/**
	 * Método principal
	 * @param args
	 */
	public static void main(String[] args) {
//		primerEjemploArray();
		segundoEjemploArray();
//		tercerEjemploArray();
	}
	
	
	/**
	 * Ejemplo de declaración de un array, inicialización de valores al azar y mostrar el array en consola
	 */
	public static void primerEjemploArray () {
		// Declaración del array, a través de la sentencia "new"
		int numeros[] = new int[5];
		
		// Inicialización de los valores del array
		for (int i = 0; i < numeros.length; i++) {
			numeros[i] = (int) Math.round(Math.random() * 100);
		}
		
		// Recorrido del array para imprimir sus valores en pantalla
		for (int i = 0; i < numeros.length; i++) {
			System.out.print(numeros[i] + " ");
		} 
	}
	
	
	/**
	 * Ejemplo de una segunda forma de crear un array, en este caso lo creamos con unos valores directamente, en
	 * lugar de inicializarlo con valores al azar.
	 */
	public static void segundoEjemploArray() {
		// Otra forma de inicializar el array
		int array2[] = new int[] {88, 89, 90, 4, 5, 8, 9, 10};

		// Recorrido del array para imprimir sus valores en pantalla.
		// Este tipo de bucle se conoce como "for each".
		for (int valorDentroDeArray : array2) {
			System.out.println(valorDentroDeArray);
		}
	}

	
	/**
	 * Método que crea e inicializa un array con 100 elementos al azar entre 0 y 100.
	 * Después calcula la suma, la media, el mayor y el menor de todos.
	 */
	public static void tercerEjemploArray() {
		int suma = 0, mayor, menor;
		float media;
		
		// Declaración del array
		int array[] = new int[10];
		
		// Recorro para inicializar el array
		for (int i = 0; i < array.length; i++) {
			array[i] = (int) Math.round(Math.random() * 100);
		}
		
		// Recorro e imprimo en pantalla
		for (int n : array) {
			System.out.print(n + " ");
		}
		System.out.println("");
		
		// Recorro para obtener la suma
		for (int n : array) {
			suma += n;
		}
		// Calculo la media
		media = suma / ((float) array.length);
		
		// Mayor y menor
		mayor = array[0];
		menor = array[0];
		for (int i = 1; i < array.length; i++) {
			if (array[i] > mayor) mayor = array[i];
			if (array[i] < menor) menor = array[i];
		}
		
		// Impresión de resultados
		System.out.println("suma: " + suma + " - media: " + media +
				" - mayor: " + mayor + " - menor: " + menor);
	}
}








