Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: SonyEd en 13 de Enero 2018, 04:14
-
Buen día, pongo aquí el código del ejecicio que se pide en la clase El método equals en Java. Diferencia entre igualdad e identidad. Comparar objetos. Ejemplos. (CU00662B) del tutorial gratuito de aprenderaprogramar.
import java.util.Scanner;
public class Comparacion{
public static void main(String[] args){
String pal1="";
String pal2="";
String palabra="";
int tam1=0;
int tam2=0;
int mayor=0;
int menor=0;
int j=1;
System.out.println("Ingrese la primera palabra: ");
Scanner entrada1 = new Scanner(System.in);
pal1 = entrada1.nextLine();
System.out.println("Ingrese la segunda palabra: ");
Scanner entrada2 = new Scanner(System.in);
pal2 = entrada2.nextLine();
tam1 = pal1.length();
tam2 = pal2.length();
if(tam1<tam2){
mayor=tam2;
menor=tam1;
}else{
mayor=tam1;
menor=tam2;
}
for(int i=0;i<menor;i++){
if(pal1.substring(0,i+1).equals(pal2.substring(0,i+1))){
System.out.println("¿Letra "+j+" igual en las dos palabras? --> Si");
}else{
System.out.println("¿Letra "+j+" igual en las dos palabras? --> No");
}
j++;
}
for(int k=menor+1;k<=mayor;k++){
if(tam1<tam2){
palabra="1";
}else{
palabra="2";
}
System.out.println("¿Letra "+k+" igual en las dos palabras? --> La palabra "+palabra+" no tiene letra "+k);
}
}
}
-
Hola, edito la respuesta que había dado. El ejercicio no está bien resuelto. Por ejemplo si se escribe:
Ingrese la primera palabra:
padron
Ingrese la segunda palabra:
patron
El resultado que se obtiene es:
¿Letra 1 igual en las dos palabras? --> Si
¿Letra 2 igual en las dos palabras? --> Si
¿Letra 3 igual en las dos palabras? --> No
¿Letra 4 igual en las dos palabras? --> No
¿Letra 5 igual en las dos palabras? --> No
¿Letra 6 igual en las dos palabras? --> No
Esto no es correcto ya que la cuarta, quinta, sexta letra son iguales y el programa está diciendo que no son iguales. Dónde está el fallo es fácil de ver, así que lo dejo como ejercicio para quien quiera revisar el código.
Saludos