Aqui dejo el código del ejercicio de este tema CU00662B del curso práctico de programación orientada a objetos con Java. No es exactamente lo que pide el ejercicio porque he intentado resolverlo creando una clase EntradaTeclado y una clase main TestComparador donde poder ver cómo funcionan diferentes metodos.
Código:
[import java.util.Scanner;
public class EntradaTeclado{
private String texto;
public EntradaTeclado(){
texto="";
pedirEntrada();
}
public void pedirEntrada(){
Scanner entradaEscaner=new Scanner(System.in);
texto=entradaEscaner.nextLine();
}
public String getEntrada(){return texto;}
public String getCaracteres(){
for(int i=0;i<texto.length();i++){
System.out.println("letra"+(i+1)+":"+texto.substring(i,i+1));
}
return (" ");
}
public int getLongitud(){
return texto.length();
}
}
public class TestComparador{
public static void main(String[]args){
System.out.println("Empezamos el programa");
System.out.println("Por favor,introduzca primer texto");
EntradaTeclado entrada1=new EntradaTeclado();
System.out.println("Por favor,introduzca segundo texto");
EntradaTeclado entrada2=new EntradaTeclado();
System.out.println("Gracias");
System.out.println("El primer texto ha sido " +entrada1.getEntrada()+ " y consta de " +entrada1.getLongitud()+ " caracteres");
System.out.println("El segundo texto ha sido " +entrada2.getEntrada()+ " y consta de " +entrada2.getLongitud()+ " caracteres");
System.out.println(entrada1.getCaracteres());
System.out.println(entrada2.getCaracteres());
System.out.println("Comparacion:");
for(int i=0; i<entrada1.getLongitud()||i<entrada2.getLongitud();i++){
System.out.print("¿caracter "+(i+1)+ " es igual en los dos textos?: ");
if(i+1>entrada2.getLongitud()){
System.out.println("texto 2 no tiene "+(i+1)+" caracter");
}
else if(i+1>entrada1.getLongitud()){
System.out.println("texto 1 no tiene "+(i+1)+" caracter");
}
else{
if((entrada1.getEntrada()).substring(i,i+1).equals((entrada2.getEntrada()).substring(i,i+1))){
System.out.println(true);
}
else{
System.out.println(false);
}
}
}
}
}