Java の文字の空白検出を探る

JavaBeginner
オンラインで実践に進む

はじめに

この実験では、Java の Character クラスの isSpaceChar(char ch) メソッドを使用して、与えられた文字が Unicode の空白文字であるかどうかを判断する方法を学びます。このメソッドの使用方法を示すために、ユーザー定義の例を使った Java コードを書きます。

プロジェクトのセットアップ

まず、~/project ディレクトリに Java プロジェクトを作成し、次のコマンドを使って SpaceCharDemo.java という新しい Java コードファイルを作成しましょう。

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

isSpaceChar(char ch) メソッドの理解

isSpaceChar(char ch) メソッドは、Java の Character クラスの組み込みメソッドです。与えられた文字が Unicode の空白文字であるかどうかをチェックするために使用できます。このメソッドは、文字の汎用カテゴリ型が次のいずれかの型の場合に true を返します。

  • SPACE_SEPARATOR
  • LINE_SEPARATOR
  • PARAGRAPH_SEPARATOR

このメソッドの構文を見てみましょう。

public static boolean isSpaceChar(char ch)

isSpaceChar(char ch) メソッドの実証

ユーザー定義の例を使って isSpaceChar(char ch) メソッドの使用方法を示す Java プログラムを実装しましょう。次のコードを SpaceCharDemo.java ファイルにコピーします。

import java.util.Scanner;

public class SpaceCharDemo {
    public static void main(String[] args) {
        // 例 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 + " は空白文字ですか? " + b1);
        System.out.println(ch2 + " は空白文字ですか? " + b2);
        System.out.println(ch3 + " は空白文字ですか? " + b3);
        System.out.println(ch4 + " は空白文字ですか? " + b4);
        System.out.println(ch5 + " は空白文字ですか? " + b5);

        // 例 2
        try {
            System.out.print("文字を入力してください:");
            Scanner sc = new Scanner(System.in);
            char ch = sc.next().charAt(0);
            boolean b = Character.isSpaceChar(ch);
            System.out.println(ch + " は空白文字ですか? " + b);
        } catch (Exception e) {
            System.out.println("入力エラー!!");
        }
    }
}

上記のコードでは、2 つの例を使って isSpaceChar(char ch) メソッドの使用方法を示しています。

最初の例では、異なる型の 5 つの文字を宣言し、isSpaceChar(char ch) メソッドを使って、与えられた文字が Unicode の空白文字であるかどうかを判断しました。2 番目の例では、ユーザーから入力を受け取り、isSpaceChar(char ch) メソッドを使って、与えられた文字が空白文字であるかどうかを判断しました。

2 番目の例では、ユーザーからの入力を取得するために Scanner クラスを使用していることに注意してください。

コードのコンパイルと実行

さて、ここで先ほど作成した Java コードをコンパイルして実行するために、次のコマンドを使いましょう。

javac SpaceCharDemo.java
java SpaceCharDemo

プログラムのテスト

上記のコードを実行すると、与えられた文字が空白文字であるかどうかを確認するための 2 つの例が表示されます。与えられた例の出力は以下のようになります。

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

任意の文字を入力して、それが空白文字であるかどうかを確認することができます。

まとめ

この実験では、Java の Character クラスの isSpaceChar(char ch) メソッドを使って、与えられた文字が Unicode の空白文字であるかどうかをチェックする方法を学びました。また、このメソッドの使用方法を示すために、ユーザー定義の例を使った Java プログラムを作成する方法も学びました。