はじめに
この実験では、Character クラスの Java の getType(int codePoint) メソッドを使用して、Unicode コードポイント文字値の一般カテゴリを取得する方法を学びます。また、Ubuntu システムのターミナルで Java コードを書き、実行する方法も学びます。
ファイル構造を設定する
ターミナルで、次のコマンドを実行して project というディレクトリを作成します。
mkdir project
次に、プロジェクト ディレクトリに移動します。
cd project
GetTypeLab.java という新しいファイルを作成します。
touch GetTypeLab.java
テキスト エディタでファイルを開きます。
touch GetTypeLab.java
Java コードを記述する
GetTypeLab.java ファイルに、次の Java コードを記述します。
import java.util.Scanner;
public class GetTypeLab {
public static void main(String[] args) {
try {
System.out.println("Enter the Unicode codepoint character:");
Scanner sc = new Scanner(System.in);
int cp = sc.nextInt();
int type = Character.getType(cp);
switch (type) {
case Character.COMBINING_SPACING_MARK:
System.out.println("Combining Spacing Mark");
break;
case Character.CONNECTOR_PUNCTUATION:
System.out.println("Connector Punctuation");
break;
case Character.CONTROL:
System.out.println("Control");
break;
case Character.CURRENCY_SYMBOL:
System.out.println("Currency Symbol");
break;
case Character.DASH_PUNCTUATION:
System.out.println("Dash Punctuation");
break;
case Character.DECIMAL_DIGIT_NUMBER:
System.out.println("Decimal Digit Number");
break;
case Character.ENCLOSING_MARK:
System.out.println("Enclosing Mark");
break;
case Character.END_PUNCTUATION:
System.out.println("End Punctuation");
break;
case Character.FINAL_QUOTE_PUNCTUATION:
System.out.println("Final Quote Punctuation");
break;
case Character.FORMAT:
System.out.println("Format");
break;
case Character.INITIAL_QUOTE_PUNCTUATION:
System.out.println("Initial Quote Punctuation");
break;
case Character.LETTER_NUMBER:
System.out.println("Letter Number");
break;
case Character.LINE_SEPARATOR:
System.out.println("Line Separator");
break;
case Character.LOWERCASE_LETTER:
System.out.println("Lowercase Letter");
break;
case Character.MATH_SYMBOL:
System.out.println("Math Symbol");
break;
case Character.MODIFIER_LETTER:
System.out.println("Modifier Letter");
break;
case Character.MODIFIER_SYMBOL:
System.out.println("Modifier Symbol");
break;
case Character.NON_SPACING_MARK:
System.out.println("Non-Spacing Mark");
break;
case Character.OTHER_LETTER:
System.out.println("Other Letter");
break;
case Character.OTHER_NUMBER:
System.out.println("Other Number");
break;
case Character.OTHER_PUNCTUATION:
System.out.println("Other Punctuation");
break;
case Character.OTHER_SYMBOL:
System.out.println("Other Symbol");
break;
case Character.PARAGRAPH_SEPARATOR:
System.out.println("Paragraph Separator");
break;
case Character.PRIVATE_USE:
System.out.println("Private Use");
break;
case Character.SPACE_SEPARATOR:
System.out.println("Space Separator");
break;
case Character.START_PUNCTUATION:
System.out.println("Start Punctuation");
break;
case Character.SURROGATE:
System.out.println("Surrogate");
break;
case Character.TITLECASE_LETTER:
System.out.println("Titlecase Letter");
break;
case Character.UNASSIGNED:
System.out.println("Unassigned");
break;
case Character.UPPERCASE_LETTER:
System.out.println("Uppercase Letter");
break;
}
} catch (Exception e) {
System.out.println("Invalid input.");
}
}
}
この Java コードは、ユーザーに Unicode コードポイント文字を入力するよう促し、getType() メソッドを使用して文字の一般カテゴリを取得し、対応するカテゴリを表示します。
コードをコンパイルして実行する
次のコマンドを実行して、GetTypeLab.java ファイルをコンパイルします。
javac GetTypeLab.java
コードを実行するには、次のコマンドを入力します。
java GetTypeLab
プロンプトが表示されたら、Unicode コードポイント文字(例えば、「A」(引用符は不要))を入力して Enter キーを押します。
コードを修正する
コードを変更して、その順序値ではなく一般カテゴリの名前を表示するようにします。これは、次のコードでスイッチ文を置き換えることで達成できます。
String typeName = Character.getName(type);
System.out.println("The character's general category is: " + typeName);
変更後のコードをコンパイルして実行します。出力がどのように変化するかを観察しましょう。
まとめ
この実験では、Java のCharacterクラスのgetType(int codePoint)メソッドを使って Unicode コードポイント文字値の一般カテゴリを取得する方法を学びました。Ubuntu システムのターミナルで Java コードを記述し、Scannerクラスを使ってユーザーから入力を取得しました。また、順序値ではなく一般カテゴリの名前を表示するようにコードを変更する方法も見てきました。



