Método isSurrogate de la clase Character en Java

JavaBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a usar el método isSurrogate() de la clase Character en Java. Este método se utiliza para comprobar si un carácter dado es una unidad de código de sustitución Unicode o no. El método isSurrogate() es un método estático, lo que significa que se puede llamar directamente en la clase Character sin crear una instancia de la clase.

Crea un nuevo archivo Java

Crea un nuevo archivo Java llamado IsSurrogateDemo.java en tu directorio ~/project.

touch ~/project/IsSurrogateDemo.java

Escribe el código Java

Copia y pega el siguiente código en el archivo IsSurrogateDemo.java:

import java.util.Scanner;

public class IsSurrogateDemo {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.print("Enter a character: ");
      char ch = sc.nextLine().charAt(0);
      boolean isSurrogateChar = Character.isSurrogate(ch);
      if (isSurrogateChar) {
         System.out.println(ch + " is a surrogate code unit.");
      } else {
         System.out.println(ch + " is not a surrogate code unit.");
      }
   }
}

Compila y ejecuta el programa

Abre una terminal y navega hasta la carpeta ~/project. Compila el archivo IsSurrogateDemo.java usando el siguiente comando:

javac IsSurrogateDemo.java

Una vez que el programa se haya compilado sin errores, ejecuta el programa usando el siguiente comando:

java IsSurrogateDemo

Opcional): Prueba con una cadena de caracteres

Puedes modificar el código Java para probar una cadena de caracteres en lugar de un solo carácter. Aquí está cómo puedes modificar el código:

import java.util.Scanner;

public class IsSurrogateDemo {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.print("Enter a string: ");
      String input = sc.nextLine();
      for (int i = 0; i < input.length(); i++) {
         char ch = input.charAt(i);
         boolean isSurrogateChar = Character.isSurrogate(ch);
         if (isSurrogateChar) {
            System.out.println(ch + " is a surrogate code unit.");
         } else {
            System.out.println(ch + " is not a surrogate code unit.");
         }
      }
   }
}

Compila y ejecuta el programa modificado usando los mismos comandos que antes (javac IsSurrogateDemo.java y java IsSurrogateDemo).

Modifica el programa para usar argumentos de línea de comandos

Puedes modificar el código Java para aceptar el carácter o cadena de entrada a partir de los argumentos de línea de comandos en lugar de pedir al usuario que ingrese la entrada. Aquí está cómo puedes modificar el código:

public class IsSurrogateDemo {
   public static void main(String[] args) {
      if (args.length == 0) {
         System.out.println("Please enter a character or string as command-line argument.");
         return;
      }

      for (String arg : args) {
         for (int i = 0; i < arg.length(); i++) {
            char ch = arg.charAt(i);
            boolean isSurrogateChar = Character.isSurrogate(ch);
            if (isSurrogateChar) {
               System.out.println(ch + " is a surrogate code unit.");
            } else {
               System.out.println(ch + " is not a surrogate code unit.");
            }
         }
      }
   }
}

Compila y ejecuta el programa modificado usando los siguientes comandos (reemplaza "e" con cualquier carácter o cadena de tu elección):

javac IsSurrogateDemo.java
java IsSurrogateDemo e

Resumen

¡Felicidades! Has aprendido cómo usar el método isSurrogate() de la clase Character en Java. Este método se utiliza para comprobar si un carácter dado es una unidad de código sustituto Unicode o no. También has aprendido cómo aceptar la entrada del usuario y los argumentos de línea de comandos, y cómo modificar el programa en consecuencia.