Hola ahora mucho mejor
Al nombrar las clases conviene pensar qué será el objeto. Un objeto como este será un Comparador, no un Comparar, por ello es más adecuado un nombre como ComparadorDeDosPalabras, tenerlo en cuenta para los próximos ejercicios.
Una cosa que se puede mejorar es esta:
if ( entrada1.length() > entrada2.length() ){ NumCharCadenaLarga = entrada1.length(); NumCharCadenaCorta = entrada2.length();}
if ( entrada1.length() < entrada2.length() ){ NumCharCadenaLarga = entrada2.length(); NumCharCadenaCorta = entrada1.length();}
if ( entrada1.length() == entrada2.length() ){ NumCharCadenaLarga = entrada1.length(); NumCharCadenaCorta = entrada2.length();}
Si te fijas la primera condición y la tercera llevan a la misma acción. Por ello ahorraríamos código si escribimos:
if ( entrada1.length() >= entrada2.length() ){ NumCharCadenaLarga = entrada1.length(); NumCharCadenaCorta = entrada2.length();}
if ( entrada1.length() < entrada2.length() ){ NumCharCadenaLarga = entrada2.length(); NumCharCadenaCorta = entrada1.length();}
También deberías corregir un pequeño error que tienes en los índices. Por ejemplo esta ejecución:
Porfavor ingrese la entrada 1
pan
Porfavor ingrese la entrada 2
pt
¿Letra 1 igual en las dos palabras? true
¿Letra 2 igual en las dos palabras? false
¿Letra 2 igual en las dos palabras?
La palabra 2 no tiene letra 2
¿Letra 3 igual en las dos palabras?
La palabra 2 no tiene letra 3
Ha finalizado la comparacion
La primera entrada consta de 3 caracteres
La segunda entrada consta de 2 caracteres
Si te fijas Letra 2 se repite y dice que la palabra 2 no tiene letra 2 lo cual no es correcto, el programa está bien pero tienes que corregir los índices para que los mensajes que salgan por pantalla sean los correctos. Debes siempre probar los programas varias veces para comprobar que funcionen bien y que den los mensajes correctos.
Saludos!