【Java】charAtメソッドを使ってn番目の文字を得る
charAtとは
charAt
は、JavaのString
クラスが提供するメソッドの1つで、文字列の指定された位置にある文字を取得します。
メソッドのシグネチャは次のようになっています:
public char charAt(int index)
index
は0から始まるため、1文字目を取得するにはindex = 0
を指定します。
このメソッドは、指定したindex
が文字列の範囲外の場合にStringIndexOutOfBoundsException
をスローします。
charAtの基本的な使い方
以下は、charAt
の基本的な使用例です。
String str = "Hello, World!";
char firstChar = str.charAt(0); // 'H'
char fifthChar = str.charAt(4); // 'o'
System.out.println("1文字目: " + firstChar);
System.out.println("5文字目: " + fifthChar);
この例では、文字列"Hello, World!"
の1文字目と5文字目を取得しています。
charAtの具体例
具体例をいくつか示します。
例1: 簡単なループ
文字列を1文字ずつ表示するループ:
String str = "Java";
for (int i = 0; i < str.length(); i++) {
System.out.println(str.charAt(i));
}
// 出力:
// J
// a
// v
// a
例2: 文字のカウント
'a'の出現回数を数える:
String str = "banana";
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == 'a') {
count++;
}
}
System.out.println("'a'の数: " + count);
// 出力: 'a'の数: 3
例3: 数字の判定
文字列内の数字を特定する:
String str = "abc123def";
for (int i = 0; i < str.length(); i++) {
if (Character.isDigit(str.charAt(i))) {
System.out.println("数字: " + str.charAt(i));
}
}
// 出力:
// 数字: 1
// 数字: 2
// 数字: 3
エラーハンドリング
charAt
を使用する際に注意すべき点は、インデックスが範囲外の場合に例外が発生することです。
以下の例では、例外処理を行っています:
String str = "example";
try {
char ch = str.charAt(10); // 範囲外
} catch (StringIndexOutOfBoundsException e) {
System.out.println("エラー: " + e.getMessage());
}
// 出力: エラー: String index out of range: 10
応用例
文字列の逆転
String str = "Hello";
String reversed = "";
for (int i = str.length() - 1; i >= 0; i--) {
reversed += str.charAt(i);
}
System.out.println("逆転文字列: " + reversed);
// 出力: 逆転文字列: olleH
文字のフィルタリング
母音だけを抽出:
String str = "programming";
String vowels = "";
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if ("aeiou".indexOf(ch) != -1) {
vowels += ch;
}
}
System.out.println("母音: " + vowels);
// 出力: 母音: oai