Autor Tema: Cómo comparar método equals Java Diferencia entre igualdad e identidad CU00662B  (Leído 2470 veces)

SonyEd

  • Sin experiencia
  • *
  • Mensajes: 13
    • Ver Perfil
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.

Código: [Seleccionar]
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);
        }
    }
}
« Última modificación: 25 de Junio 2018, 20:20 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
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
« Última modificación: 25 de Junio 2018, 20:30 por Alex Rodríguez »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".