Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Pandemia en 28 de Agosto 2016, 20:03

Título: Java comparación letra a letra usando equals de dos palabras con bucle CU00662B
Publicado por: Pandemia en 28 de Agosto 2016, 20:03
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
Título: Re:Java comparación letra a letra usando equals de dos palabras con bucle CU00662B
Publicado por: Ogramar en 31 de Agosto 2016, 19:08
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