Cómo comparar cadenas ordenadas alfabéticamente en Java

Los programas en Java almacenan datos de texto en variables de cadena.
Por sue smith

Paso 1

Crea dos cadenas en tu programa Java. Puedes utilizar las cadenas existentes si tienes alguna, pero para crear dos variables de cadena de prueba utiliza la siguiente sintaxis: String firstWord = "bat"; String secondWord = "cat";

Puedes cambiar el contenido de estas cadenas si lo deseas. Cada una contiene una corta serie de caracteres para la demostración. Puedes llamar a métodos de la clase string en cualquiera de estas variables.


Paso 2

Realiza la comparación en las cadenas. Al comparar dos cadenas llamas al método "compareTo" de una cadena y pasas el otro como parámetro. El método devuelve un valor entero de tipo primitivo. Llama al método y almacena el resultado en una variable como sigue:

int comparison = firstWord.compareTo(secondWord);

Esta variable contiene un valor negativo si la primera cadena es alfabéticamente menor, un valor positivo si la segunda cadena es inferior por orden alfabético o un valor de cero si las cadenas son iguales.


Paso 3

Implementa una prueba condicional para adaptar el proceso al resultado de tu comparación. Agrega las siguientes instrucciones: if(comparison<0) System.out.println("primer palabra es primera por orden alfabético"); else if(comparison>0) System.out.println("segunda palabra es primera por orden alfabético"); else System.out.println("palabras son iguales por orden alfabético");

Este código genera un mensaje simple según el resultado de la operación de comparación. Si la primera prueba devuelve un valor verdadero, se ejecutará el contenido de la sección "if" y Java ignorará las otras dos líneas. Si la primera prueba devuelve un resultado Java falso, ignorará el contenido de la instrucción "if" y llevará a cabo la prueba de "else if". Si esta prueba resulta verdadera, se ejecutará su contenido. Si ambas pruebas resultan falsas, el contenido de la instrucción "else" se ejecutará con la única posibilidad restante que las cadenas sean iguales.


Paso 4

Lleva a cabo tu comparación sin utilizar comillas. Si deseas que la comparación de cadenas ignore los caracteres, utiliza la siguiente versión alternativa del método: int comparison = firstWord.compareToIgnoreCase(secondWord);

Por defecto, Java trata los valores de mayúsculas primero en orden alfabético comparados alfabéticamente a las minúsculas. Por ejemplo, la prueba original de los siguientes valores indicaría que la segunda cadena está primera por orden alfabético: String firstWord = "bat"; String secondWord = "Hat";

Si deseas que Java compare sólo en base al orden alfabético, utiliza el método que ignore las comillas.


Paso 5

Guarda el archivo de código Java. Compila y ejecuta el programa para probarlo. Puedes agregar la siguiente declaración de salida para ver el valor de número entero resultante de la operación de comparación de un vistazo: System.out.println(comparison);

Cambia los valores de la cadena varias veces y ejecuta tu programa varias veces para darte una idea clara de cómo funcionan los métodos.