Java の Character.isLowSurrogate メソッド

JavaJavaBeginner
今すぐ練習

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

はじめに

Java のCharacterクラスのisLowSurrogate()メソッドは、指定された文字が下位サロゲートコードユニットとして適格するかどうかをチェックするために使用されます。この実験では、isLowSurrogate()メソッドの使い方と、実際のアプリケーションでどのように使用できるかを学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/output("Output") java/StringManipulationGroup -.-> java/strings("Strings") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/FileandIOManagementGroup -.-> java/files("Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/operators -.-> lab-117539{{"Java の Character.isLowSurrogate メソッド"}} java/output -.-> lab-117539{{"Java の Character.isLowSurrogate メソッド"}} java/strings -.-> lab-117539{{"Java の Character.isLowSurrogate メソッド"}} java/user_input -.-> lab-117539{{"Java の Character.isLowSurrogate メソッド"}} java/files -.-> lab-117539{{"Java の Character.isLowSurrogate メソッド"}} java/working -.-> lab-117539{{"Java の Character.isLowSurrogate メソッド"}} java/string_methods -.-> lab-117539{{"Java の Character.isLowSurrogate メソッド"}} end

コードファイルのセットアップ

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に設定され、そうでない場合はisLowfalseに設定されます。

その後、三項演算子を使用して、isLowtrueの場合にresult変数を"is"に設定し、isLowfalseの場合に"is not"に設定します。最後に、結果メッセージをコンソールに出力します。

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

変更を保存し、Ctrl+Xを押してからYEnterを押すことで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()メソッドの出力に基づいて結果メッセージを作成する方法も学びました。最後に、異なる入力を使用してコードをテストし、上位サロゲートコードユニットを確認するようにコードを変更しました。