Autor Tema: Java comparación letra a letra usando equals de dos palabras con bucle CU00662B  (Leído 2373 veces)

Pandemia

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 255
    • Ver Perfil
Buenas aquí os dejo mi propuesta del ejercicio CU00662B del curso de formación en programación Java desde cero.

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]
/**
 * Ejercicio CU00662B del curso de Java desde cero de aprenderaprogramar.com
 * Versión 0.1
 * Realizado por Pandemia
 */

import java.util.Scanner;

public class CompararLetraALetra
{
    public static void main (){
        System.out.println("Programa para comparar las letras de dos palabras");
       
        System.out.println ("Por favor introduzca la primera palabra: ");
        String palabra1 = "";
        Scanner sc1 = new Scanner(System.in);
        palabra1 = sc1.nextLine();
       
        System.out.println ("Por favor introduzca la segunda palabra: ");
        String palabra2 = "";
        Scanner sc2 = new Scanner (System.in);
        palabra2 = sc2.nextLine();

        //Comparar cadenas
        int listado = 1;
        int maximalength = palabra2.length();
        int minimalength = palabra1.length();
        if (palabra1.length() > palabra2.length())
        {
            maximalength = palabra1.length();
            minimalength = palabra2.length();
            listado = 2;
        }   
        for (int i=0; i < minimalength ;  i++) 
        {
            System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? " +
            palabra1.substring (i, i+1).equals(palabra2.substring (i,i+1)) + "." ); 
        }
        for (int i=minimalength; i < maximalength ;  i++) 
        {
            System.out.println ("¿Letra " + (i+1) +
            " igual en las dos palabras? La palabra " + listado + " no tiene letra " + (i+1)); 
        }       
    }//cierre del main
}//cierre de la clase

Saludos y gracias por vuestro tiempo..... ;D
« Última modificación: 31 de Agosto 2016, 19:04 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas Pandemia, muy bien tu solución y creo que es distinta a las que suelen verse en el foro  :D

Nota: como ya se ha comentado el nombre de la clase sería mejor ComparadorLetraALetra que CompararLetraALetra. Recuerda que las clases sirven para crear objetos y que es más lógico decir que un objeto es un comparador que un comparar

Salu2

 

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