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.



