無視可能な Unicode 文字の識別

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

はじめに

この実験では、Java において文字が無視可能な文字または Unicode 識別子と見なされるかどうかをチェックするために使用される Java のisIdentifierIgnorable(int codePoint)メソッドについて学びます。この実験では、このメソッドの使用方法を示す Java プログラムを作成するための手順を段階的に示します。

新しい Java ファイルを作成する

Ubuntu のターミナルで、以下のコマンドを使用して~/projectディレクトリに新しい Java ファイルCharacterDemo.javaを作成します。

touch ~/project/CharacterDemo.java

ユーザー入力を受け取るコードを記述する

CharacterDemo.javaファイルに、コードポイント値の形式でユーザー入力を受け取るための以下のコードを記述します。

import java.util.Scanner;

public class CharacterDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a Unicode codepoint: ");
        int codepoint = sc.nextInt();
    }
}

上記のコードは、java.utilパッケージから Scanner クラスをインポートし、それを使用してコードポイント値の形式でユーザー入力を受け取ります。入力された値はcodepoint変数に格納されます。

入力された文字が無視可能かどうかを確認する

CharacterDemo.javaファイルに、入力された文字が無視可能かどうかを確認するための以下のコードを追加します。

if(Character.isIdentifierIgnorable(codepoint)){
    System.out.println("The entered character is ignorable.");
} else {
    System.out.println("The entered character is not ignorable.");
}

上記のコードは、isIdentifierIgnorable(int codePoint)メソッドを使用して入力された文字が無視可能かどうかを確認します。入力された文字が無視可能な場合は、コンソールに「The entered character is ignorable.」と表示されます。それ以外の場合は、「The entered character is not ignorable.」と表示されます。

プログラムをコンパイルして実行する

CharacterDemo.javaファイルをコンパイルするには、ターミナルで以下のコマンドを実行します。

javac CharacterDemo.java

コンパイルが成功した後、以下のコマンドを実行してプログラムを実行します。

java CharacterDemo

すると、Unicode コードポイント値の入力を求められます。コードポイント値を入力して Enter キーを押します。

入力された値が無視可能な文字の場合、コンソールに「The entered character is ignorable.」というメッセージが表示されます。それ以外の場合は、「The entered character is not ignorable.」というメッセージが表示されます。

例外を処理するためにコードを修正する

ユーザーが整数以外の値を入力したような無効な入力の場合、プログラムは例外を処理し、コンソールにエラーメッセージを表示する必要があります。無効な入力を処理するために try-catch ブロックを含めるようにコードを更新します。以下のようになります。

try {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter a Unicode codepoint: ");
    int codepoint = sc.nextInt();

    if(Character.isIdentifierIgnorable(codepoint)){
        System.out.println("The entered character is ignorable.");
    } else {
        System.out.println("The entered character is not ignorable.");
    }
} catch (Exception e){
    System.out.println("Invalid input! Please enter a valid codepoint value.");
}

修正したプログラムをコンパイルして実行する

以下のコマンドを使用して修正されたCharacterDemo.javaファイルをコンパイルします。

javac CharacterDemo.java

以下のコマンドを使用してプログラムを実行します。

java CharacterDemo

ターミナルに以下の入力を入力してプログラムをテストします。

  • 0xEFFF
  • 0x001F
  • 0x02a6
  • abcd

上記の入力に対する期待される出力は以下の通りです。

  • 0xEFFF: The entered character is not ignorable.
  • 0x001F: The entered character is ignorable.
  • 0x02a6: The entered character is not ignorable.
  • abcd: Invalid input! Please enter a valid codepoint value.

まとめ

おめでとうございます。Java におけるisIdentifierIgnorable(int codePoint)メソッドを使って文字が無視可能かどうかを確認する方法を、成功裏に学びました。この実験では、コードポイント値の形式でユーザー入力を受け取り、isIdentifierIgnorable(int codePoint)メソッドを使って入力された文字が無視可能かどうかを確認する Java プログラムを作成しました。また、無効な入力の場合に例外を処理する方法も学びました。この実験で学んだ知識を使って、isIdentifierIgnorable(int codePoint)メソッドを使用する独自のプログラムを実装してください。