JAVA: Ordenar cadenas en forma descendente

Necesito realizar un programa en Java con los Métodos de la Clase String, que lea una cadena y la ordene en forma descendente del alfabeto (de Z a la A). Por ejemplo la Cadena original es “HOLA” y ordenada debe ser : “OLHA”.
Tengo entendido que debemos tener en cuenta el código ASCCI para realizar este orden pero realmente no sé exactamente cómo hacerlo...

1 respuesta

Respuesta
1

Puedes convertir tu cadena a un arreglo de Strings por cada caracter y después ordenarlos de forma descendente usando Arrays. Sort y usando el comparator Collections. ReverseOrder.

public static String invertirOrdenCaracteres(String palabra){
    palabra=palabra.toLowerCase();
    //Convertimos a Arreglo de Strings separado por caracteres
    String[] arregloChars=palabra.split("");
    //Ordenamos el array con el Comparator reverseOrder
    Arrays.sort(arregloChars, Collections.reverseOrder());
    return String.join("", arregloChars);
}

El código que te proporcioné no funciona con letras con acento, eso lo puedes lograr de varias formas una de ellas es  reemplazar las letras acentuadas con las letras sin acento con expresiones regulares y replace. Una cosa más necesitas java 1.8 por el uso de String.join.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas