Programa Java para clasificación específica de casos

Dada una string S que consta de caracteres en mayúsculas y minúsculas. La tarea es ordenar las letras mayúsculas y minúsculas por separado, de modo que si el lugar «i» en la string original tenía un carácter en mayúscula, no debería tener un carácter en minúscula después de ordenarse y viceversa. se describe en la ilustración como se muestra a continuación:

Ilustración:

Entrada: srbDKi Salida: birDKs Procesamiento: después de ordenar, tenemos que colocar los caracteres en minúsculas en minúsculas y mayúsculas en mayúsculas específicas  


 

Acercarse:

  1. Usaremos dos ArrayList, uno para almacenar los valores en minúsculas y el segundo para almacenar los valores en mayúsculas.
  2. Después de agregar elementos a las listas, ordenaremos la lista usando el método Collections.sort(list)
  3. Después de ordenar, recorreremos la string y verificaremos casos específicos y almacenaremos el elemento en la posición correcta

Ejemplo:

Java

// Java Program for Case Specific Sorting
// using Collections.sort(list) method
 
// Importing input output classes
// Importing utility classes
import java.io.*;
import java.util.*;
 
class GFG {
 
    // Method 1
    // To sort the string
    static String sortString(String str)
    {
        // Creating two Arraylist  class objects
        // Declaring object of character type
        ArrayList<Character> list = new ArrayList<>();
        ArrayList<Character> list2 = new ArrayList<>();
 
        // Initially the string is empty
        String res = "";
 
        // Iterating over the string
        for (int i = 0; i < str.length(); i++) {
            // Finding character at indexes
            // using charAt() method in List object
            if (str.charAt(i) >= 'a'
                && str.charAt(i) <= 'z')
                list.add(str.charAt(i));
 
            if (str.charAt(i) >= 'A'
                && str.charAt(i) <= 'Z')
                list2.add(str.charAt(i));
        }
 
        // Sorting the Collection interface
        // using sort() method
        Collections.sort(list);
        Collections.sort(list2);
 
        int i = 0;
        int j = 0;
 
        // iterating over string using length() method
        for (int k = 0; k < str.length(); k++) {
 
            // If lowercase character encountered
            if (str.charAt(k) >= 'a'
                && str.charAt(k) <= 'z') {
 
                // Appending them all in beginning of string
                res += list.get(i);
                ++i;
            }
 
            // If uppercase character encountered
            else if (str.charAt(k) >= 'A'
                     && str.charAt(k) <= 'Z') {
 
                // Appending them all together after
                // lowercase is finished in input string
                res += list2.get(j);
                ++j;
            }
        }
        return res;
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
 
        // Passing the custom string as input for which we
        // want case-specific sorting by calling the method
        // 1 as defined above
        System.out.println(sortString("defRTSersUXI"));
    }
}
Producción

deeIRSfrsTUX

Publicación traducida automáticamente

Artículo escrito por AakashSingh_17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *