Autor Tema: Comparación letra a letra de 2 palabras usando equals y bucles en Java CU00662B  (Leído 2623 veces)

Titomon

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Buen día,

Adjunto el codigo correspondiente al ejercicio de la entrega No. 62 del curso "Aprender programación Java desde cero"

Código: [Seleccionar]
import java.util.Scanner;
public class Comparador {
    public Comparador () {
    }
   
    public static void main (String [ ] args) {
    System.out.println ("Por favor ingrese la primera palabra:");
    Scanner entradaEscaner1 = new Scanner(System.in);
    String entradaTeclado1 = entradaEscaner1.nextLine();
    System.out.println ("Por favor ingresa la segunda palabra:");
    Scanner entradaEscaner2 = new Scanner(System.in);
    String entradaTeclado2 = entradaEscaner2.nextLine();
   
    int i = 0;
    if (entradaTeclado1.length() > entradaTeclado2.length()) {
        while (i<entradaTeclado2.length()) {
            if (entradaTeclado1.substring(i,i+1).equalsIgnoreCase(entradaTeclado2.substring(i,i+1)) == true){
                System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? True");
            }
            else { System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? False"); }
            i++;
        }
        for (int j=1; (i+j)<=entradaTeclado1.length(); j++) {
            System.out.println ("¿Letra " + (i+j) + " igual en las dos palabras? La palabra 2 no tiene letra " + (i+j));
        }
    }
   
    else {
        while (i<entradaTeclado1.length()) {
            if (entradaTeclado1.substring(i,i+1).equalsIgnoreCase(entradaTeclado2.substring(i,i+1)) == true){
                System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? True");
            }
            else { System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? False"); }
            i++;
        }
        for (int j=1; (i+j)<=entradaTeclado2.length(); j++) {
            System.out.println ("¿Letra " + (i+j) + " igual en las dos palabras? La palabra 1 no tiene letra " + (i+j));
        }
    }
    }
}


Muchas gracias!!

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Buenos días.
El ejercicio llega a la solución que se pedía,aunque el código podría reducirse bastante.Por ejemplo:
Código: [Seleccionar]
import java.util.Scanner;
public class Comparador {
    public Comparador () {
    }

    public static void main (String [ ] args) {
        System.out.println ("Por favor ingrese la primera palabra:");
        Scanner entradaEscaner = new Scanner(System.in);
        String entradaTeclado1 = entradaEscaner.nextLine();
        System.out.println ("Por favor ingresa la segunda palabra:");   
        String entradaTeclado2 = entradaEscaner.nextLine();

        int i = 0;
        int h=0;
        String entrada="";
        String entrada2="";
        if (entradaTeclado1.length() > entradaTeclado2.length()){
            entrada=entradaTeclado2;
            entrada2=entradaTeclado1;
            h=2;}
        else{
            entrada=entradaTeclado1;
            entrada2=entradaTeclado2;
            h=1;}       
        while (i<entrada.length()) {
            if (entradaTeclado1.substring(i,i+1).equalsIgnoreCase(entradaTeclado2.substring(i,i+1))){
                System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? True");
            }
            else { System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? False"); }
            i++;
        }
        for (int j=1; (i+j)<=entrada2.length(); j++) {
            System.out.println ("¿Letra " + (i+j) + " igual en las dos palabras? La palabra "+h+" no tiene letra " + (i+j));
        }
    }
}

Un saludo

Titomon

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Buenos días ESOJ,

Muchas gracias por tu respuesta. Tienes razón, la forma en que lo haces reduce bastante el código. Gracias por el consejo.

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