Método isSurrogate em Java

JavaBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar o método isSurrogate() da classe Character em Java. Este método é usado para verificar se um determinado caractere é uma unidade de código substituto (surrogate code unit) Unicode ou não. O método isSurrogate() é um método estático, o que significa que pode ser chamado diretamente na classe Character sem criar uma instância da classe.

Criar um novo arquivo Java

Crie um novo arquivo Java chamado IsSurrogateDemo.java no seu diretório ~/project.

touch ~/project/IsSurrogateDemo.java

Escrever o código Java

Copie e cole o seguinte código no arquivo 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.");
      }
   }
}

Compilar e executar o programa

Abra um terminal e navegue até a pasta ~/project. Compile o arquivo IsSurrogateDemo.java usando o seguinte comando:

javac IsSurrogateDemo.java

Uma vez que o programa seja compilado sem erros, execute o programa usando o seguinte comando:

java IsSurrogateDemo

(Opcional) Testar com uma string de caracteres

Você pode modificar o código Java para testar uma string de caracteres em vez de um único caractere. Veja como você pode modificar o 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.");
         }
      }
   }
}

Compile e execute o programa modificado usando os mesmos comandos de antes (javac IsSurrogateDemo.java e java IsSurrogateDemo).

Modificar o programa para usar argumentos de linha de comando

Você pode modificar o código Java para aceitar o caractere ou string de entrada dos argumentos da linha de comando em vez de solicitar que o usuário insira a entrada. Veja como você pode modificar o 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.");
            }
         }
      }
   }
}

Compile e execute o programa modificado usando os seguintes comandos (substitua "e" por qualquer caractere ou string de sua escolha):

javac IsSurrogateDemo.java
java IsSurrogateDemo e

Resumo

Parabéns! Você aprendeu como usar o método isSurrogate() da classe Character em Java. Este método é usado para verificar se um determinado caractere é uma unidade de código surrogate (Unicode surrogate code unit) ou não. Você também aprendeu como aceitar entrada do usuário e argumentos de linha de comando, e como modificar o programa de acordo.