package examenes.examen20241122;

import examenes.examen20241122.Utils.Utils;

public class Ejercicio_b {
    public static void main(String[] args) {
        //Declaramos el array de palabras
        String[] palabras = new String[]{"Rafa", "que", "tal", "te", "parece", "mi", "proyecto", "del", "asistente"};

        //Lo mostramos convertido
        Utils.mostrarMatrizChars(stringsAMatriz(palabras));
    }

    /**
     * Genera una matriz de caracteres a partir de un array de Palabras
     *
     * @param palabras Array de palabras
     * @return Matriz de chars
     */
    public static char[][] stringsAMatriz(String[] palabras) {
        char[][] arrayChars = new char[palabras.length][obtenerCharPalabraMasLarga(palabras)];

        for (int i = 0; i < arrayChars.length; i++) {
            for (int j = 0; j < arrayChars[i].length; j++) {
                if (j >= palabras[i].length()) {
                    arrayChars[i][j] = ' ';
                } else {
                    arrayChars[i][j] = palabras[i].charAt(j);
                }
            }
        }
        return arrayChars;
    }

    /**
     * Obtiene el número de carácteres de la palabra más larga de una array
     *
     * @param palabras Array de palabras
     * @return Número de carácteres
     */
    public static int obtenerCharPalabraMasLarga(String[] palabras) {
        int numChars = 0;

        for (String palabra : palabras) {
            if (palabra.length() > numChars) numChars = palabra.length();
        }
        return numChars;
    }
}
