Java Character の isSurrogate メソッド

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java の Character クラスの isSurrogate() メソッドの使い方を学びます。このメソッドは、与えられた文字が Unicode サロゲートコードユニットであるかどうかをチェックするために使用されます。isSurrogate() メソッドは静的メソッドであり、これはクラスのインスタンスを作成することなく、直接 Character クラスで呼び出すことができることを意味します。

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

~/project ディレクトリに IsSurrogateDemo.java という名前の新しい Java ファイルを作成します。

touch ~/project/IsSurrogateDemo.java

Java コードを記述する

次のコードをコピーして IsSurrogateDemo.java ファイルに貼り付けます。

import java.util.Scanner;

public class IsSurrogateDemo {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.print("Enter a character: ");
      char ch = sc.nextLine().charAt(0);
      boolean isSurrogateChar = Character.isSurrogate(ch);
      if (isSurrogateChar) {
         System.out.println(ch + " is a surrogate code unit.");
      } else {
         System.out.println(ch + " is not a surrogate code unit.");
      }
   }
}

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

ターミナルを開き、~/project フォルダに移動します。次のコマンドを使用して IsSurrogateDemo.java ファイルをコンパイルします。

javac IsSurrogateDemo.java

エラーなくプログラムがコンパイルされたら、次のコマンドを使用してプログラムを実行します。

java IsSurrogateDemo

オプション:複数の文字の文字列でテストする

1 文字ではなく複数の文字の文字列でテストするために、Java コードを変更することができます。以下はコードを変更する方法です。

import java.util.Scanner;

public class IsSurrogateDemo {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.print("Enter a string: ");
      String input = sc.nextLine();
      for (int i = 0; i < input.length(); i++) {
         char ch = input.charAt(i);
         boolean isSurrogateChar = Character.isSurrogate(ch);
         if (isSurrogateChar) {
            System.out.println(ch + " is a surrogate code unit.");
         } else {
            System.out.println(ch + " is not a surrogate code unit.");
         }
      }
   }
}

以前と同じコマンド(javac IsSurrogateDemo.javajava IsSurrogateDemo)を使用して、変更後のプログラムをコンパイルして実行します。

コマンドライン引数を使ってプログラムを変更する

ユーザーに入力を促す代わりに、Java コードを変更してコマンドライン引数から入力文字または文字列を受け取ることができます。以下はコードを変更する方法です。

public class IsSurrogateDemo {
   public static void main(String[] args) {
      if (args.length == 0) {
         System.out.println("Please enter a character or string as command-line argument.");
         return;
      }

      for (String arg : args) {
         for (int i = 0; i < arg.length(); i++) {
            char ch = arg.charAt(i);
            boolean isSurrogateChar = Character.isSurrogate(ch);
            if (isSurrogateChar) {
               System.out.println(ch + " is a surrogate code unit.");
            } else {
               System.out.println(ch + " is not a surrogate code unit.");
            }
         }
      }
   }
}

以下のコマンドを使用して変更後のプログラムをコンパイルして実行します(「e」を好きな文字または文字列に置き換えてください)。

javac IsSurrogateDemo.java
java IsSurrogateDemo e

まとめ

おめでとうございます!Java の Character クラスの isSurrogate() メソッドの使い方を学びました。このメソッドは、与えられた文字が Unicode サロゲートコードユニットかどうかをチェックするために使用されます。また、ユーザーからの入力とコマンドライン引数を受け取り、それに応じてプログラムを変更する方法も学びました。