Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: umadara en 01 de Julio 2016, 18:15

Título: Ejercicio comparar letras de palabras uso de método equals en Java CU00662B
Publicado por: umadara en 01 de Julio 2016, 18:15
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.
Título: Re:(CU00662B) metodo equals en java
Publicado por: DRANXZ88 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.
Título: Re:(CU00662B) metodo equals en java
Publicado por: DRANXZ88 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));
            }
        }
Título: Re:Ejercicio comparar letras de palabras uso de método equals en Java CU00662B
Publicado por: Alex Rodríguez en 10 de Julio 2016, 17:05
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
Título: Re:Ejercicio comparar letras de palabras uso de método equals en Java CU00662B
Publicado por: DRANXZ88 en 11 de Julio 2016, 14:06
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.
Título: Re:Ejercicio comparar letras de palabras uso de método equals en Java CU00662B
Publicado por: Alex Rodríguez en 15 de Julio 2016, 13:00
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.
Título: Re:Ejercicio comparar letras de palabras uso de método equals en Java CU00662B
Publicado por: DRANXZ88 en 15 de Julio 2016, 13:48
Gracia por tu aclaración me quedo muy claro saludo... :)