Hola. Dejo el Ejercicio CU00662B del tutorial de programación básica Java.
El método equals en Java. Diferencia entre igualdad e identidad. Comparar objetos.
Clase EntradaDeTeclado:
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
// Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado {
private String entradaTeclado; //Variable de instancia (campo) de la clase
public EntradaDeTeclado () { //Constructor
entradaTeclado="";
pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
} //Cierre del constructor
public void pedirEntrada () { //Método de la clase
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();
} //Cierre del método pedirEntrada
public String getEntrada () { return entradaTeclado; } //Cierre del método getEntrada
public int getLongitud () { //Método de la clase
return entradaTeclado.length();
} //Cierre del método getLongitud
} //Cierre de la clase
Clase ComparacionLetras :
// Nuestra clase de prueba aprenderaprogramar.com
public class ComparacionLetras {
public static void main (String [ ] args) {
System.out.print ("EjercicioCU00662B COMPARACION LETRA A LETRA\n\n");
System.out.print ("Por favor introduzca la 1ª frase :\n");
EntradaDeTeclado frase1 = new EntradaDeTeclado();
System.out.print ("Por favor introduzca la 2ª frase :\n");
EntradaDeTeclado frase2 = new EntradaDeTeclado();
int cadenaMasLarga=0; // Variable para sacar la longitud de la cadena mas larga
// Longitud de las cadenas
int longCad1=frase1.getLongitud();
int longCad2=frase2.getLongitud();
// Sacar la longitud de la cadena mas larga
if (longCad1>longCad2){
cadenaMasLarga=longCad1;
}
else {
cadenaMasLarga=longCad2;
}
// Variables para la comparacion
String compara1=frase1.getEntrada();
String compara2=frase2.getEntrada();
int n; // Variable entera para realizar las comparaciones
for(int i=0;i<=cadenaMasLarga-1;i++){
n=i+1;
if (n<=cadenaMasLarga){
if (n<=longCad1 && n<=longCad2){
System.out.print("¿letra "+(i+1)+" = ?");
if (compara1.substring(i,n).equals(compara2.substring(i,n)))
{
System.out.print(" Verdadero "+compara1.substring(i,n)+" "+compara2.substring(i,n)+"\n");
}
else{
System.out.print(" Falso "+compara1.substring(i,n)+" "+compara2.substring(i,n)+"\n");
}
}
}
if(n>longCad1 ){
System.out.print("La frase 1 no contiene la letra "+(i+1)+" "+compara2.substring(i,n)+"\n");
}
else if( n>longCad2 ){
System.out.print("La frase 2 no contiene la letra "+(i+1)+" "+compara1.substring(i,n)+"\n");
}
}
} //Cierre del main
} //Cierre de la clase
Gracias. Un Saludo.