Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: micaelasol en 08 de Febrero 2022, 20:27

Título: El método equals qué es y pará qué sirve cómo comparar objetos en Java CU00662B
Publicado por: micaelasol en 08 de Febrero 2022, 20:27
Hola, después de haber estado muchos días con este código por fin lo terminé y aquí lo comparto.
 
Espero que esté bien. Corresponde a la entrega CU00662B del programa formativo de programación orientada a objetos con Java desde cero de aprenderaprogramar.


Citar
EJERCICIO

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.


Código: [Seleccionar]
import java.util.Scanner;

public class comparaciónLetras {
   
    private String texto1, texto2;
    private int palabraMasCorta, palabraMasLarga;
   
    public static void main (String [] args){
        String texto1 = "";
        String texto2 = "";
        int palabraMasCorta = 0;
        int palabraMasLarga = 0;
       
        System.out.println ("Ingrese la primera palabra");
        Scanner valorScanner1 = new Scanner(System.in);
        texto1 = valorScanner1.nextLine();
        System.out.println ("Ingrese la segunda palabra");
        Scanner valorScanner2 = new Scanner(System.in);
        texto2 = valorScanner2.nextLine();
       
        if (texto1.length()<texto2.length()){
            palabraMasCorta = texto1.length();
            palabraMasLarga = texto2.length();
        }else{
            palabraMasCorta = texto2.length();
            palabraMasLarga = texto1.length();
        }       
       
        for (int i=0;i < palabraMasLarga;i++){

            if (i<palabraMasCorta){
                System.out.print("¿Letra "+(i+1)+" igual en las dos palabras? ");
                System.out.print(texto1.substring(i,i+1).equals(texto2.substring(i,i+1))+"\n");
            }
            else{
                System.out.print("La palabra "+ palabraMasCorta +" no tiene letra "+(i+1)+"\n");
            }
           
        }
       
    }
}


Muchas gracias! ;)
Título: Re: El método equals qué es y pará qué sirve cómo comparar objetos en Java CU00662B
Publicado por: Alex Rodríguez en 17 de Abril 2022, 15:47
Hola, el ejercicio está muy bien resuelto y con un código muy compacto. Como posibles mejoras voy a indicar:

- En general recomendamos no incluir tildes (acentuación) en los nombres de clases ni de métodos, por ejemplo en lugar de comparaciónLetras usaríamos comparacionLetras. El uso de tildes, eñes, etc. a la larga puede generar problemas, y evitando tildes y eñes evitamos esos posibles problemas.

- En general recomendamos que los nombres de métodos, variables, etc. sean descriptivos. En este código se ha usado por ejemplo int palabraMasCorta = 0; lo cual no es muy adecuado. Porque si el nombre de variable es "palabraMasCorta" se espera que el contenido de la variable sea una palabra. Por tanto no es un nombre adecuadamente descriptivo si luego esa variable representa a un número entero. Hubiera sido más adecuado por ejemplo numLetrasPalabraCorta

Saludos