Método StringBuffer codePointCount() en Java con ejemplos

El método codePointCount() de la clase StringBuffer se usa para devolver el número de puntos de código Unicode en el rango especificado de beginIndex a endIndex de String contenido por StringBuffer. Este método toma beginIndex y endIndex como un parámetro donde beginIndex es el índice del primer carácter del rango de texto y endIndex es el índice después del último carácter del rango de texto. Los índices se refieren a valores char (unidades de código Unicode) y el valor del índice debe estar entre 0 y longitud-1. El rango comienza en beginIndex y termina en char en el índice endIndex – 1. Por lo tanto, la longitud (en caracteres) del rango de texto es endIndex-beginIndex.

Sintaxis:

public int codePointCount(int beginIndex,
                               int endIndex)

Parámetros: Este método toma dos parámetros:

  • beginIndex : valor int que representa el índice del primer carácter del rango de texto.
  • endIndex : valor int que representa el índice después del último carácter del rango de texto.

Valor devuelto: este método devuelve un valor int que representa el número de puntos de código Unicode en el rango de texto especificado.

Excepción: este método arroja una excepción IndexOutOfBoundsException si:

  • el beginIndex es menor que cero,
  • o endIndex es mayor que la longitud de String,
  • o beginIndex es mayor que endIndex.

Los siguientes programas ilustran el método StringBuffer.codePointCount():

Ejemplo 1:

// Java program to demonstrate
// the codePointCount() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer
            str
            = new StringBuffer("Welcome to GeeksforGeeks");
  
        // print string
        System.out.println("String = " + str.toString());
  
        // returns the codepoint count from index 4 to 10
        int codepoints = str.codePointCount(4, 10);
  
        System.out.println("No of Unicode code points "
                           + " between index 4 and index 10 = "
                           + +codepoints);
    }
}
Producción:

String = Welcome to GeeksforGeeks
No of Unicode code points  between index 4 and index 10 = 6

Ejemplo 2:

// Java program to demonstrate
// the codePointCount() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer
            str
            = new StringBuffer("GeeksForGeeks contribute");
  
        // print string
        System.out.println("String = "
                           + str.toString());
  
        // returns the codepoint count
        // from index 3 to 7
        int
            codepoints
            = str.codePointCount(13, 17);
  
        System.out.println("No of Unicode code points"
                           + " between index 13 and 17 = "
                           + codepoints);
    }
}
Producción:

String = GeeksForGeeks contribute
No of Unicode code points between index 13 and 17 = 4

Ejemplo 3: Para demostrar IndexOutOfBoundsException

// Java program to demonstrate
// exception thrown by the codePointCount() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer
            str
            = new StringBuffer("GeeksForGeeks");
  
        try {
  
            // make beginIndex greater than endIndex
            int codepoints = str.codePointCount(2, 0);
        }
  
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}
Producción:

Exception: java.lang.IndexOutOfBoundsException

Referencias:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#codePointCount(int, int)

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 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 *