package examenes.examen20241122.Utils;

public class Utils {
    /**
     * Recorremos una matriz para mostrarla por consola
     *
     * @param matriz Matriz a recorrer
     */
    public static void mostrarMatrizChars(char[][] matriz) {
        for (int i = 0; i < matriz.length; i++) {
            for (int j = 0; j < matriz[i].length; j++) {
                System.out.print(matriz[i][j] + " ");
            }
            System.out.println();
        }
    }

    /**
     * Genera un número aleatorio entre 0 y un máximo
     *
     * @param multiplicador Máximo
     * @return Double con el número
     */
    public static double generarNumAleatorio(int multiplicador) {
        return Math.random() * multiplicador;
    }

    /**
     * Crear un array de números aleatorios
     *
     * @param cantidadElementos Tamaño del arrau
     * @param numMinimo         Número mínimo que puede ser un elemento del array
     * @param numMaximo         Número máximo que puede ser un elemento del array
     * @return Array con los números aleatorios
     */
    public static int[] crearArrayNumsAleatorios(int cantidadElementos, int numMinimo, int numMaximo) {
        int[] nums = new int[cantidadElementos];

        for (int i = 0; i < nums.length; i++) {
            nums[i] = numMinimo + (int) Math.round(generarNumAleatorio((numMaximo - numMinimo)));
        }
        return nums;
    }

    /**
     * Recorre un array de números para mostrarlo por consola
     *
     * @param array Array a mostrar
     */
    public static void mostrarArrayNums(int[] array) {
        for (int num : array) {
            System.out.print(num + " ");
        }
    }
}
