Autor Tema: El método equals qué es y pará qué sirve cómo comparar objetos en Java CU00662B  (Leído 2903 veces)

micaelasol

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 33
    • Ver Perfil
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! ;)
« Última modificación: 17 de Abril 2022, 15:41 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
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

 

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