Autor Tema: Java. Comparar objetos String con equals(). Ejercicio CU00662B  (Leído 2681 veces)

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
El método equals en Java. Diferencia entre igualdad e identidad. Comparar objetos. Ejemplos. (CU00662B)

Aquí les dejo el ejercicio del curso de fundamentos de programación orientada a objetos:

Código Java
Código: [Seleccionar]
import java.util.Scanner;
/**
 * Funciona para comparar tipos objetos y tipos primitivos.
 *
 * @author Chompy129
 * @version 1.0
 */
public class Comparador{
   
    public static void main(String[] args){
        Scanner entradaScanner= new Scanner(System.in);
        String cadena1= "";
        String cadena2= "";
       
        //Se obtienen los valores de cadena1 y cadena2.
        System.out.print("Introdusca la primera cadena: ");
        cadena1= entradaScanner.nextLine();
        System.out.print("Introdusca la segunda cadena: ");
        cadena2= entradaScanner.nextLine();
        System.out.println("Se recibe \"" + cadena1 + "\" y \"" + cadena2 + "\".");
        System.out.println("Comparacion:\n");
       
        //Proceso de comparacion:
        //El bucle se mantiene mientras i sea menor a la cantidad de caracteres de cadena1 o cadena2.
        for(int i= 0; i < cadena1.length() || i < cadena2.length(); i++){
           
            System.out.print("¿Caracter "+(i+1)+" igual en ambos?: ");
           
            // Si i+1 supera la cantidad de caracteres de cadena1 o cadena2
            // se indica que tal cadena no posee tal cáracter.
            if(i+1 > cadena2.length()){
                System.out.println("Cadena 2 no tiene "+(i+1)+" cáracter.");
            }
            else if(i+1 > cadena1.length()){
                System.out.println("Cadena 1 no tiene "+(i+1)+" cáracter.");
            }
            else{
                //  Si no se cumplen las anteriores condiciones entonces se comparan las cadenas
                //  cáracter por cáracter, devolviendo true si son iguales y false si son distintas.
                if(cadena1.substring(i, i+1).equals(cadena2.substring(i, i+1))){
                    System.out.println(true);
                }
                else{
                    System.out.println(false);
                }
            }
        }
    }
   
}


Link de la clase: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=628:el-metodo-equals-en-java-diferencia-entre-igualdad-e-identidad-comparar-objetos-ejemplos-cu00662b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

« Última modificación: 21 de Diciembre 2016, 19:39 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Java. Comparar objetos String con equals(). Ejercicio CU00662B
« Respuesta #1 en: 17 de Diciembre 2016, 02:11 »
Hola.
El ejercicio es correcto.
Otra forma de hacerlo podría ser:
Código: [Seleccionar]
import java.util.Scanner;
public class Comparador1{

    public static void main(String[] args){
        Scanner entradaScanner= new Scanner(System.in);     
        String cadena1= "";
        String cadena2= "";
        //Se obtienen los valores de cadena1 y cadena2.
        System.out.print("Introdusca la primera cadena: ");       
        cadena1= entradaScanner.nextLine();
        System.out.print("Introdusca la segunda cadena: ");
        cadena2= entradaScanner.nextLine();
        System.out.println("Se recibe \"" + cadena1 + "\" y \"" + cadena2 + "\".");
        System.out.println("Comparacion:\n");       

        for(int i= 0; i < cadena1.length() || i < cadena2.length(); i++){           
            System.out.print("¿Caracter "+(i+1)+" igual en ambos?: ");
            if(i+1 > cadena2.length() || i+1 > cadena1.length()){
                String cadena="1";
                if(i+1 > cadena2.length()){cadena="2";}
                System.out.println("Cadena "+cadena+" no tiene "+(i+1)+" cáracter.");}
            else{  boolean comparacion=true;
                if(!cadena1.substring(i, i+1).equals(cadena2.substring(i, i+1))){
                    comparacion=false;
                }
                System.out.println(comparacion);
            }
        }
    }
}
Un saludo

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Re:Java. Comparar objetos String con equals(). Ejercicio CU00662B
« Respuesta #2 en: 17 de Diciembre 2016, 03:56 »
Simplifica cierta parte en mi código, me parece bien. :)
Gracias por revisar el ejercicio ESOJ.

 

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