Explorando a Detecção de Espaços em Caracteres Java

JavaBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como usar o método isSpaceChar(char ch) da classe Character em Java para determinar se um determinado caractere é um caractere de espaço Unicode ou não. Escreveremos código Java com exemplos definidos pelo usuário para demonstrar o uso deste método.

Configurando o projeto

Primeiramente, vamos criar um projeto Java no diretório ~/project e criar um novo arquivo de código Java chamado SpaceCharDemo.java usando o seguinte comando:

mkdir ~/project
cd ~/project
touch SpaceCharDemo.java

Entendendo o método isSpaceChar(char ch)

O método isSpaceChar(char ch) é um método embutido da classe Character em Java. Ele pode ser usado para verificar se um determinado caractere é um caractere de espaço Unicode ou não. Este método retorna true se o tipo de categoria geral do caractere for qualquer um dos seguintes tipos:

  • SPACE_SEPARATOR
  • LINE_SEPARATOR
  • PARAGRAPH_SEPARATOR

Vamos analisar a sintaxe deste método:

public static boolean isSpaceChar(char ch)

Demonstrando o método isSpaceChar(char ch)

Vamos implementar um programa Java que demonstra o uso do método isSpaceChar(char ch) usando exemplos definidos pelo usuário. Copie o seguinte código para o seu arquivo SpaceCharDemo.java:

import java.util.Scanner;

public class SpaceCharDemo {
    public static void main(String[] args) {
        // Example 1
        char ch1 = 'h';
        char ch2 = '\u2028';
        char ch3 = '\u2078';
        char ch4 = '0';
        char ch5 = ' ';

        boolean b1 = Character.isSpaceChar(ch1);
        boolean b2 = Character.isSpaceChar(ch2);
        boolean b3 = Character.isSpaceChar(ch3);
        boolean b4 = Character.isSpaceChar(ch4);
        boolean b5 = Character.isSpaceChar(ch5);

        System.out.println(ch1 + " is a space character? " + b1);
        System.out.println(ch2 + " is a space character? " + b2);
        System.out.println(ch3 + " is a space character? " + b3);
        System.out.println(ch4 + " is a space character? " + b4);
        System.out.println(ch5 + " is a space character? " + b5);

        // Example 2
        try {
            System.out.print("Enter a character: ");
            Scanner sc = new Scanner(System.in);
            char ch = sc.next().charAt(0);
            boolean b = Character.isSpaceChar(ch);
            System.out.println(ch + " is a space character? " + b);
        } catch (Exception e) {
            System.out.println("Invalid Input!!");
        }
    }
}

No código acima, demonstramos o uso do método isSpaceChar(char ch) usando dois exemplos.

No primeiro exemplo, declaramos cinco caracteres de diferentes tipos e, usando o método isSpaceChar(char ch), identificamos se os caracteres fornecidos são caracteres de espaço Unicode ou não. No segundo exemplo, recebemos uma entrada do usuário e usamos o método isSpaceChar(char ch) para identificar se o caractere fornecido é um caractere de espaço ou não.

Observe que no segundo exemplo, estamos usando a classe Scanner para receber a entrada do usuário.

Compilando e executando o código

Agora, vamos usar os seguintes comandos para compilar e executar o código Java que acabamos de criar:

javac SpaceCharDemo.java
java SpaceCharDemo

Testando o programa

Ao executar o código acima, ele fornecerá dois exemplos para verificar se os caracteres fornecidos são caracteres de espaço ou não. A saída dos exemplos fornecidos será semelhante à seguinte:

h is a space character? false
​ is a space character? true
⁸ is a space character? false
0 is a space character? false
  is a space character? true
Enter a character: $
$ is a space character? false

Você pode inserir qualquer caractere para verificar se ele é um caractere de espaço ou não.

Resumo

Neste laboratório, aprendemos como usar o método isSpaceChar(char ch) da classe Character em Java para verificar se um determinado caractere é um caractere de espaço Unicode ou não. Também aprendemos como criar um programa Java com exemplos definidos pelo usuário para demonstrar o uso deste método.