Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: j0sel en 27 de Octubre 2015, 20:44

Título: El método equals en Java. Diferencia entre igualdad e identidad. Comparar objeto
Publicado por: j0sel en 27 de Octubre 2015, 20:44
Código: [Seleccionar]
// Nuestra clase de prueba aprenderaprogramar.com
import java.util.Scanner;
public class Ejercicio662 {

   public void Ejercicio662() {
 //nothing to say
    }
   
   
    public static void main (String [ ] args) {
       
        int longitudUno;
        int longitudDos;
        int maximo;
        String entradaTeclado1;
        String entradaTeclado2;
       
        System.out.println ("Palabra 1:");
        Scanner entradaEscaner = new Scanner (System.in);
        entradaTeclado1 = entradaEscaner.nextLine (); 

        System.out.println ("Palabra 2:");
        Scanner entradaEscaner2 = new Scanner (System.in);
        entradaTeclado2 = entradaEscaner2.nextLine (); 
       
        longitudUno = entradaTeclado1.length();
        longitudDos = entradaTeclado2.length();

       
        if (longitudUno > longitudDos) {
            maximo = longitudUno;
        } else if (longitudUno < longitudDos) {
            maximo = longitudDos;
        } else {
            maximo = longitudDos;
        }
       
       
        for (int i=1;i<= maximo; i++) {
       
            if ((longitudUno >= i) && (longitudDos >= i)) {
               
                 System.out.println("La letra " + i + " es igual en las dos palabras? " + entradaTeclado1.substring(i-1,i).equals(entradaTeclado2.substring(i-1,i)) );
               
               
            }

            if (longitudUno < i) {
                System.out.println("La letra " + i + " es igual en las dos palabras? La palabra 1 no tiene letra " + i ); 
            }
           
           
            if (longitudDos < i) {
                 System.out.println("La letra " + i + " es igual en las dos palabras? La palabra 2 no tiene letra " + i );
            }
           
        }
       
    } //Cierre del main
} //Cierre de la clase
Título: Re:El método equals en Java. Diferencia entre igualdad e identidad. Comparar objeto
Publicado por: pedro,, en 27 de Octubre 2015, 21:33
Hola j0sel.

Tu ejercicio resuelve como pide el ejercicio, aunque hay cosas que se podrían mejorar en tu código.

Creas dos objetos Scanner y podrías rescatar las dos palabras creando uno solo.
Código: [Seleccionar]
entradaTeclado2 = entradaEscaner2.nextLine ();la podrías cambiar por esta otra...
Código: [Seleccionar]
entradaTeclado2 = entradaEscaner.nextLine ();
En el primer "if", si quitas el "else if", tu código funcionará igual.

Código: [Seleccionar]
if (longitudUno > longitudDos) {
            maximo = longitudUno;
        } else {
            maximo = longitudDos;
        }

Y poco mas que añadir.
Saludos.

Título: Re:El método equals en Java. Diferencia entre igualdad e identidad. Comparar objeto
Publicado por: j0sel en 27 de Octubre 2015, 21:44
muchas gracias pedro me apunto los consejos