Java
 Computer >> コンピューター >  >> プログラミング >> Java

【Java】指定したインデックスのUnicodeコードポイントを取得する方法

本記事では、文字列内の指定したインデックス位置にあるUnicodeコードポイントを取得する方法について解説します。すべての文字はUnicodeコードポイントによって表現されます。コードポイントとは、個々の文字を一意に識別するための整数値のことです。Unicode文字は、UTF-8やUTF-16など、さまざまなエンコーディング方式で符号化できます。

以下に具体例を示します。

入力値

入力文字列: Java Program
インデックス値: 5

期待される出力

Unicodeコードポイント: 80

アルゴリズム

ステップ1 - 処理を開始する
ステップ2 - 文字列型変数 input_string、整数型変数 index および result を宣言する
ステップ3 - 各変数に値を設定する
ステップ4 - codePointAt() メソッドを使ってコードポイントを取得し、result に格納する
ステップ5 - 結果を表示する
ステップ6 - 処理を終了する

codePointAt() メソッドとは

Stringクラスの codePointAt(int index) メソッドは、引数で指定したインデックス位置の文字に対応するコードポイント(int型)を返します。インデックスは0から始まるため、例えば「Java Program」の場合、インデックス5には「P」が位置し、その文字コードである「80」が返されます。なお、文字列の範囲外のインデックスを指定すると IndexOutOfBoundsException がスローされる点に注意してください。

例1:mainメソッドにまとめて記述する場合

ここでは、すべての処理を「main」メソッド内にまとめて実装します。

import java.io.*;
public class UniCode {
   public static void main(String[] args){
      System.out.println("必要なパッケージがインポートされました");
      String input_string = "Java Program";
      System.out.println("\n定義された文字列: " + input_string);
      int result = input_string.codePointAt(5);
      System.out.println("インデックス5のUnicodeコードポイント: " + result);
   }
}

出力

必要なパッケージがインポートされました

定義された文字列: Java Program
インデックス5のUnicodeコードポイント: 80

例2:オブジェクト指向スタイルでメソッドに分割する場合

ここでは、処理を独立したメソッドとしてカプセル化し、オブジェクト指向プログラミングの形式で実装します。

import java.io.*;
public class UniCode {
   static void unicode_value(String input_string, int index){
      int result = input_string.codePointAt(index);
      System.out.println("インデックス" + index + "のUnicodeコードポイント: " + result);
   }
   public static void main(String[] args) {
      System.out.println("必要なパッケージがインポートされました");
      String input_string = "Java Program";
      System.out.println("\n定義された文字列: " + input_string);
      int index = 5;
      unicode_value(input_string, index);
   }
}

出力

必要なパッケージがインポートされました

定義された文字列: Java Program
インデックス5のUnicodeコードポイント: 80

補足:サロゲートペアを扱う場合

絵文字などの補助文字は、サロゲートペアと呼ばれる2つのchar値で構成されます。こうした文字を正確に扱いたい場合は、charCount()offsetByCodePoints() といったメソッドと組み合わせることで、コードポイント単位での安全な文字列操作が可能になります。

  1. Javaで台形の面積を求めるプログラムの作成方法を解説

    この記事では、Javaを使って台形(トラペジウム)の面積を求める方法について詳しく解説します。台形とは、少なくとも1組の対辺が互いに平行になっている四角形のことです。平行な2つの辺は「底辺」と呼ばれ、平行でない残りの2つの辺は「脚」と呼ばれます。英語圏では trapezoid(トラペゾイド)と呼ばれることもあります。 台形の面積は、次の公式を使って計算できます。 面積 = (高さ ÷ 2) × (上底 + 下底) すなわち、 面積 = ½ × (平行な2辺の長さの合計) × (平行な2辺間の垂直距離) 以下に具体的なイメージを示します。平行な2辺の長さを a、b、台形の高さを h としたとき

  2. 【Java入門】長方形の周囲(外周)を求めるプログラムの作り方

    長方形の周囲とは? この記事では、Javaを使って長方形の周囲(外周)を求める方法を解説します。長方形の周囲とは、長方形の4つの辺すべての長さを足し合わせた合計のことで、次の図のように「縦の辺2本」と「横の辺2本」の長さを合計したものに相当します。 長方形は向かい合う辺の長さが等しいという性質を持つため、周囲は次の式で計算できます。 周囲 = 2 ×(縦の長さ + 横の長さ) 入力と出力の例 たとえば、入力が次の値であるとします。 長方形の各辺の長さ:5, 8, 5, 8 このとき、期待される出力は次のとおりです。 Perimeter : 26 アルゴリズム 処理の流れは以下のようになりま