public class Ejercicio1 {
    public static void main(String[] args) throws Exception {

        /*
         * EJERCICIO 1
         * El ejercicio consiste en realizar un programa que simule el funcionamiento
         * del
         * método equalsIgnoreCase() entre dos objetos de tipo String.
         * 
         * El programa solicitará dos objetos de tipo String y los comparará carácter a
         * carácter.
         * 
         * Previamente a la comparación se deben realizar dos operaciones:
         * 1. Eliminar los espacios en blanco al principio y al final de cada String
         * 2. Eliminar todos los espacios en blanco en el interior de cada String
         */

        String palabra0 = "Pepito"; // Longitud 6.
        String palabra1 = "Pepito es un buen alumno";
        String palabra2 = "Menganito es un buen alumno";

        // Se quiere sustituir toods los ("o" por "0") (" ", "")

        // El objetivo es recorrer cada letra del String en este caso palabra1 /
        // palabra2
        // DETERMINADO o INDETERMINADO.

        // Antes de entrar al bucle, ¿Yo tengo claro la cantidad de iteraciones que
        // realizará?.
        // DETERMINADO → FOR.

        // OJO: La longitud devuelve el número de carácteres totales
        // OJO: Para recorrer cada letra el índice primero es 0, y el índice final es
        // caracteresTotales-1.
        /*
         * for(int i = 0; i<palabra1.length() ;i++){
         * //Quiero recorrer en cada iteración (La letra que corresponda en función del
         * índice)
         * char letra = palabra1.charAt(i);
         * System.out.println(letra);
         * 
         * }
         */

        // Se quiere sustituir toods los ("o" por "1")


        // Bucle 1: Sustituir valores dentro del primer String
        System.out.println("PALABRA ORIGINAL: "+palabra1);

        String palabra1aux = "";
        for (int i = 0; i < palabra1.length(); i++) {
            // Quiero recorrer en cada iteración (La letra que corresponda en función del
            // índice)
            char letra = palabra1.charAt(i);

            if (letra == 'o') {
                palabra1aux+="1";
            }else{
                palabra1aux+=letra;
            }
        }

        System.out.println("PALABRA REEMPLAZA (o,1): "+palabra1aux);
        //palabraAux, mecanismo que nos va a permitir almacenar cada letra y sus especificacions, y posteriormente asignarlo como palabra1 (IMPORTANTE: Cuando termine el bucle)
        palabra1 = palabra1aux; //Sobreescribo


        // Bucle 2: Sustituir valores dentro del segundo String

        // Bucle 3: Una vez esté sustituido, se compara teniendo en cuenta que
        // mayúsculas y minúsuclas son compatibles.
        if (palabra1.length() != palabra2.length()){
            System.out.println("NO SON IGUALES"); //Poruqe las longitudes son diferentes.
        }else{
            boolean sonIguales = true; //Salvo que se demuestre lo contrario todas las letras son iguales
            for (int i = 0; i < palabra1.length(); i++) {
                char letraPalabra1 = Character.toLowerCase(palabra1.charAt(i));
                char letraPalabra2 = 'P'; //ESTA MAL, SUSTITUYE POR EL VALOR CORRECTO ;)

                if (letraPalabra1 != letraPalabra2){
                    sonIguales = false;
                }
                
            }

            if (sonIguales){
                System.out.println("Las palabras son exactamente iguales");
            }else{
                System.out.println("Las palabras son diferentes iguales");

            }
        }
    }
}
