【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() といったメソッドと組み合わせることで、コードポイント単位での安全な文字列操作が可能になります。
-
Javaで台形の面積を求めるプログラムの作成方法を解説
この記事では、Javaを使って台形(トラペジウム)の面積を求める方法について詳しく解説します。台形とは、少なくとも1組の対辺が互いに平行になっている四角形のことです。平行な2つの辺は「底辺」と呼ばれ、平行でない残りの2つの辺は「脚」と呼ばれます。英語圏では trapezoid(トラペゾイド)と呼ばれることもあります。 台形の面積は、次の公式を使って計算できます。 面積 = (高さ ÷ 2) × (上底 + 下底) すなわち、 面積 = ½ × (平行な2辺の長さの合計) × (平行な2辺間の垂直距離) 以下に具体的なイメージを示します。平行な2辺の長さを a、b、台形の高さを h としたとき
-
【Java入門】長方形の周囲(外周)を求めるプログラムの作り方
長方形の周囲とは? この記事では、Javaを使って長方形の周囲(外周)を求める方法を解説します。長方形の周囲とは、長方形の4つの辺すべての長さを足し合わせた合計のことで、次の図のように「縦の辺2本」と「横の辺2本」の長さを合計したものに相当します。 長方形は向かい合う辺の長さが等しいという性質を持つため、周囲は次の式で計算できます。 周囲 = 2 ×(縦の長さ + 横の長さ) 入力と出力の例 たとえば、入力が次の値であるとします。 長方形の各辺の長さ:5, 8, 5, 8 このとき、期待される出力は次のとおりです。 Perimeter : 26 アルゴリズム 処理の流れは以下のようになりま