Ordenar alfabéticamente dos Strings en Java

Programa java para ordenar dos Strings alfabéticamente.

El programa pide que se introduzcan por teclado el contenido de los dos String y los muestra ordenados en orden alfabético. No se tendrán en cuenta mayúsculas o minúsculas para determinar el orden de los dos String.

Para comparar dos String y determinar cual es menor según el orden alfabético se utiliza el método compareTo o el método compareToIgnoreCase si no queremos tener en cuenta mayúsculas y minúsculas.   

Solución:

/*
 * Mostrar dos String en orden alfabético
 * Programa Java que lea dos cadenas de caracteres y las muestre ordenadas por orden alfababético. 
 * No se tendrán en cuenta mayúsculas o minúsculas
 */

import java.util.Scanner;

public class OrdenarDosString{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String cadena1, cadena2;

        System.out.print("Introduce cadena 1: ");
        cadena1 = sc.nextLine();
        System.out.print("Introduce cadena 2: ");
        cadena2 = sc.nextLine();

        //comprobamos si cadena1 es menor que cadena2 en el orden alfabético
        if (cadena1.compareToIgnoreCase(cadena2) < 0) { //No se pueden comparar cadenas utilizando < ó >          
            System.out.println(cadena1);
            System.out.println(cadena2);
        } else {
            System.out.println(cadena2);
            System.out.println(cadena1);
        }
    }
}

Puedes encontrar más información sobre los métodos compareTo y compareToIgnoreCase para comparar Strings en esta entrada del blog: Estructuras de control.

1 comentario:

  1. package Ejercicos_Cadenas;

    import java.util.Scanner;
    /*Programa java para ordenar dos Strings alfabéticamente.*/

    public class Ejercicio2_Cadenas {
    public static void main(String[] args) {
    Scanner teclado = new Scanner(System.in);
    String[] cadenas = new String[2];
    System.out.println("ingrese una palabra");
    cadenas[0] = teclado.nextLine();
    System.out.println("ingrese otra palabra");
    cadenas[1] = teclado.nextLine();
    if (cadenas[0].equalsIgnoreCase(cadenas[1])){
    System.out.println("las dos palabras son iguales el orden no importa");
    }else if (cadenas[0].toLowerCase().charAt(0)<cadenas[1].toLowerCase().charAt(0)){
    System.out.println("1. "+cadenas[0]+"\n"+"2. "+cadenas[1]);
    }else {
    System.out.println("1. "+cadenas[1]+"\n"+"2. "+cadenas[0]);
    }




    }
    }

    ResponderEliminar