Autor Tema: Ejercicio CU00662B. Comparar igualdad de objetos con el método equals en java.  (Leído 3613 veces)

luispdl

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
La clase principal con el metodo main
Código: [Seleccionar]
public class Comparacion {
    public static void main (String [] args ) {
        System.out.print("Ingrese una cadena: ");
        EntradaDeTeclado entrada1 = new EntradaDeTeclado();
        System.out.print("Ingrese otra cadena: ");
        EntradaDeTeclado entrada2 = new EntradaDeTeclado();
        String cadena1= entrada1.getEntrada();
        String cadena2= entrada2.getEntrada();
        if (cadena1.length()>cadena2.length()) {
            int j=0;
            for (int i=0; i<cadena1.length();i++) {
                if (j<cadena2.length()){
                    System.out.println("¿Letra " + (i+1)+" igual en las dos palabras? "+ cadena1.substring(i, i+1).equals(cadena2.substring(i, i+1)));
                    j++;
                } else {
                    System.out.println("¿Letra " + (i+1)+" igual en las dos palabras? La palabra 2 no tiene letra "+(i+1) );
                    j++;
                }
            }
        } else {
            int j=0;
            for (int i=0; i<cadena2.length();i++) {
                if (j<cadena1.length()){
                    System.out.println("¿Letra " + (i+1)+" igual en las dos palabras? "+ cadena1.substring(i, i+1).equals(cadena2.substring(i, i+1)));
                    j++;
                } else {
                    System.out.println("¿Letra " + (i+1)+" igual en las dos palabras? La palabra 1 no tiene letra "+(i+1) );
                    j++;
                }
            }
        }
    }
}


Clase del capitulo anterior para entrada por teclado
Código: [Seleccionar]
import java.util.Scanner;

public class EntradaDeTeclado {
    private String entradaTeclado;
   
    public EntradaDeTeclado() {
        entradaTeclado="";
        pedirEntrada();
    }
   
    public void pedirEntrada() {
        Scanner entradaEscaner = new Scanner (System.in);
        entradaTeclado= entradaEscaner.nextLine();
    }
   
    public String getEntrada () {
        return entradaTeclado;
    }
   
    public String getPrimeraPalabra () {
        for (int i=0;i<entradaTeclado.length()-1;i++) {
            if (entradaTeclado.substring(i, i+1).equals(" ")) {
                return entradaTeclado.substring(0, i+1);
            }
        }
        return entradaTeclado;
    }
   
    public int getLongitud () {
        return entradaTeclado.length();
    }
   
}
« Última modificación: 22 de Octubre 2014, 19:06 por Jorge lopez »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola luispdl
Tu ejercicio está perfecto :D
Discrimina la igualdad o no de las letras, detecta cuando hay una palabra más larga
Uso correcto de los métodos de la clase String: equals, substring y length

Saludos y adelante.

luispdl

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
Muchas Gracias toni_apr!!! :)

jotase1507

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 38
    • Ver Perfil
Una consulta, como llegaste a esta deduccion

Código: [Seleccionar]

if (j<cadena2.length()){
                    System.out.println("¿Letra " + (i+1)+" igual en las dos palabras? "+ cadena1.substring(i, i+1).equals(cadena2.substring(i, i+1)));
                    j++;
                } else {
                    System.out.println("¿Letra " + (i+1)+" igual en las dos palabras? La palabra 2 no tiene letra "+(i+1) );
                    j++;
}

ademas de eso creo que no era necesario incluir otro contador, podias usar el "i" que usaste en el "for", al menos a mi me funciono asi.

Saludos

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Hola jotase1507, efectivamente el uso de j parece que "sobra", es decir, tal como dices podría resolverse simplemente usando la misma variable i del for, lo cual es mejor ya que ahorra código y hace el código más legible.

Si quieres un comentario sobre tu código, pégalo para poder revisarlo.

Saludos

 

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".