はじめに
Java のCharacterクラスのisLowSurrogate()メソッドは、指定された文字が下位サロゲートコードユニットとして適格するかどうかをチェックするために使用されます。この実験では、isLowSurrogate()メソッドの使い方と、実際のアプリケーションでどのように使用できるかを学びます。
コードファイルのセットアップ
Ubuntu システムのターミナルを開き、~/projectディレクトリに移動し、nanoエディタを使用してLowSurrogate.javaという名前の新しいファイルを作成します。
cd ~/project
touch LowSurrogate.java
Java コードの記述
このステップでは、isLowSurrogate()メソッドの使用方法を示すコードを記述します。LowSurrogate.javaファイルに次のコードを入力してください。
import java.util.Scanner;
public class LowSurrogate {
public static void main(String[] args) {
try {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a character: ");
char ch = sc.next().charAt(0);
boolean isLow = Character.isLowSurrogate(ch);
String result = isLow? "is" : "is not";
System.out.println(ch + " " + result + " a low-surrogate.");
} catch(Exception e) {
System.out.println("Invalid input!");
}
}
}
上記のコードでは、ユーザーからの入力を取得するためにScannerクラスをインポートしています。ユーザーから文字入力を受け取り、それをch変数に格納します。次に、入力された文字が下位サロゲートであるかどうかを確認するためにisLowSurrogate()メソッドを使用します。入力された文字が下位サロゲートの場合、isLow変数はtrueに設定され、そうでない場合はisLowはfalseに設定されます。
その後、三項演算子を使用して、isLowがtrueの場合にresult変数を"is"に設定し、isLowがfalseの場合に"is not"に設定します。最後に、結果メッセージをコンソールに出力します。
コードのコンパイルと実行
変更を保存し、Ctrl+Xを押してからYとEnterを押すことでnanoエディタを終了します。ターミナルで次のコマンドを使用して Java コードをコンパイルします。
javac LowSurrogate.java
コンパイルが成功すると、次のコマンドを使用してコードを実行します。
java LowSurrogate
プログラムは文字の入力を促します。文字を入力してEnterキーを押すと、それが下位サロゲートであるかどうかが表示されます。上記のコマンドを実行して毎回新しい入力を提供することで、好きな回数だけコードを実行できます。
コードのテスト
様々な文字を入力として入力し、出力を分析することでプログラムをテストします。以下にいくつかのサンプル入力と出力を示します。
サンプル入力 1:
Enter a character: A
サンプル出力 1:
A is not a low-surrogate.
サンプル入力 2:
Enter a character: 😊
サンプル出力 2:
😊 is a low-surrogate.
サンプル入力 3:
Enter a character: \ud835
サンプル出力 3:
㌀ is not a low-surrogate.
サンプル入力 4:
Enter a character: \
サンプル出力 4:
Invalid input!
コードの修正(オプショナル)
文字が下位サロゲートではなく上位サロゲートであるかどうかを確認するようにコードを変更してみましょう。そのために、メソッド呼び出しをCharacter.isLowSurrogate()からCharacter.isHighSurrogate()に変更し、結果メッセージもそれに応じて変更します。
Enter a character: \ud835
\ud835 is a high-surrogate.
まとめ
この実験では、Java のCharacterクラスのisLowSurrogate()メソッドを使用して、文字が下位サロゲートコードユニットとして適格するかどうかを確認する方法を学びました。また、三項演算子を使用して、isLowSurrogate()メソッドの出力に基づいて結果メッセージを作成する方法も学びました。最後に、異なる入力を使用してコードをテストし、上位サロゲートコードユニットを確認するようにコードを変更しました。



