Autor Tema: Ejercicio comparar letras de palabras uso de método equals en Java CU00662B  (Leído 4416 veces)

umadara

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 45
    • Ver Perfil
Aquí otro ejercicio, que me ha costado bastante. Se trata del ejercicio CU00662B del taller Aprende a programar en Java como si estuvieras en primero.

Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

public class CompararPalabras2 {
   
    //atributos
    public String entradaTeclado;
   
    public static void main (String [ ] args) {
         
        Scanner entrada1Escaner = new Scanner (System.in); //Creación de un objeto Scanner
       
        System.out.println ("introduzca primera paralabra");
       
        String palabra1 = "";
       
        palabra1 = entrada1Escaner.nextLine();
       
        Scanner entrada2Escaner = new Scanner (System.in); //Creacción objeto Scanner
       
        System.out.println ("introduzca segunda palabra");
       
        String palabra2 = "";
       
        palabra2 = entrada2Escaner.nextLine();
       
        boolean comparacion = true;
       
        int i = 0;
       
        while (i < palabra1.length() && i < palabra2.length()) {
           
            comparacion = palabra1.substring (i,i+1).equals(palabra2.substring (i,i+1));
           
            if (true == comparacion) {
                System.out.println ("letra " + (i+1) + ": " + "es igual");
            } else {
                System.out.println ("letra " + (i+1) + " es diferente");
            }
           
            i++;
           
        }
       
        while (i >= palabra1.length() && i < palabra2.length()) {
           
            System.out.println ("para la letra "+ (i+1) +"la palabra 1 no contine letras");
           
            i++;
       
        }
       
        while (i < palabra1.length() && i >= palabra2.length()) {
           
            System.out.println ("para la letra "+ (i+1) +"la palabra 2 no contiene letras");
           
            i++;
           
        }
   
    }
}



un saludo y nos seguimos leyendo

ciao.
« Última modificación: 10 de Julio 2016, 17:05 por Alex Rodríguez »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:(CU00662B) metodo equals en java
« Respuesta #1 en: 01 de Julio 2016, 22:57 »
Tu ejercicio no cumple lo que pide el enunciado porque si es verdadero te tiene que tirar el mensaje y al final true y si es falso false.

Citar
Crea una clase en cuyo método main ejecutes una comparación letra a letra usando equals de dos palabras usando bucles. Por ejemplo si las palabras son “avispa” y “ave” el programa debe dar como resultado: ¿Letra 1 igual en las dos palabras? True. ¿Letra 2 igual en las dos palabras? True ¿Letra 3 igual en las dos palabras? False ¿Letra 4 igual en las dos palabras? La palabra 2 no tiene letra 4 ¿Letra 5 igual en las dos palabras? La palabra 2 no tiene letra 5 ¿Letra 6 igual en las dos palabras? La palabra 2 no tiene letra 6.
« Última modificación: 10 de Julio 2016, 17:00 por Alex Rodríguez »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:(CU00662B) metodo equals en java
« Respuesta #2 en: 01 de Julio 2016, 22:59 »
Acá te mando un ejemplo que podes adaptar a tu ejercicios o guiarte por el ejercicios ojala que te sirva saludo. :) :)
Código: [Seleccionar]
int limiteSup;
        int limiteInf;
        int text;

        if (palabra_1.length() < palabra_2.length()) {
            limiteInf = palabra_1.length();
            text = 1;
            limiteSup = palabra_2.length();
        } else {
            limiteInf = palabra_2.length();
            text = 2;
            limiteSup = palabra_1.length();
        }
        for (int i = 0; i < limiteSup; i++) {
            if (i < limiteInf) {
                System.out.println("¿Letra " + (i + 1) + " igual en las dos palabras? " + (palabra_1.substring(i, i + 1).equals(palabra_2.substring(i, i + 1))));
            } else {
                System.out.println("La palabra " + text + " no tiene letra " + (i + 1));
            }
        }

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola DRANXZ88, aparte de que veo algunos fallos en espacios o letras (por ejemplo contine en lugar de contiene) yo sí veo el ejercicio correcto. ¿Por qué crees tú que no cumple lo que pedía el enunciado?

Saludos

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Yo me refería que el enunciado mostraba true o false depende de la condición que cumpla ejemplo.
Citar
¿Letra 1 igual en las dos palabras? True.
Ademas decía una parte
Citar
La palabra 2 no tiene letra 4
y en su ejercicios no imprime así si no
Citar
para la letra 6 la palabra 1 no contiene letras
puede que sea detalle nomas.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Sí, yo considero que es sólo un detalle y que el ejercicio está bien, porque el programa dice letra 1: es igual (o es diferente si fueran diferentes), ya se entiende que letra 1 igual es las dos palabras es true (o false en las dos palabras), es solo otra forma de expresarlo. Saludos.

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Gracia por tu aclaración me quedo muy claro saludo... :)

 

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