【Java入門】文字列から各単語の最初の文字だけを抽出して出力する方法
JavaにおけるStringクラスは、文字列を表すために使用されるクラスです。Javaプログラム内に記述されたすべての文字列リテラルは、Stringクラスのインスタンスとして扱われます。また、Stringオブジェクトは定数であり、一度生成するとその値を後から変更することができません。この性質は「不変(イミュータブル)」と呼ばれます。
文字列の中から各単語の最初の文字だけを取り出して出力したい場合は、以下のようなプログラムで実現できます。
サンプルコード
public class FirstCharacterPrintTest {
public static void main(String[] args) {
String str = "Welcome To Tutorials Point";
char c[] = str.toCharArray();
System.out.println("各単語の最初の文字:");
for (int i = 0; i < c.length; i++) {
// 文字列内の各単語の先頭文字を判定するロジック
if(c[i] != ' ' && (i == 0 || c[i-1] == ' ')) {
System.out.println(c[i]);
}
}
}
}
実行結果
各単語の最初の文字: W T T P
ロジックの解説
このプログラムのポイントは、以下の2点です。
- toCharArray()メソッド:文字列を1文字ずつ格納したchar型の配列に変換します。これにより、forループで各文字に順番にアクセスできるようになります。
- 単語の先頭を判定する条件式:
c[i] != ' 'で現在の文字が空白ではないこと、そしてi == 0 || c[i-1] == ' 'で「配列の先頭である」または「直前の文字が空白である」ことを確認しています。この両方を満たす文字が、まさに各単語の最初の文字となります。
この手法を使えば、split()メソッドで文字列を分割することなく、ループ処理だけで効率的に各単語の頭文字を取得できます。文書の頭文字を大文字に変換する処理や、イニシャルを抽出する処理などにも応用可能です。
-
JavaでNumberFormatException(非検査例外)を処理する方法をわかりやすく解説
NumberFormatExceptionは、parseXXX()系のメソッドが文字列を数値に変換できなかった場合にスローされる非検査例外(unchecked exception)です。この例外はコンパイル時に強制されないため、開発者が適切に対処しないと実行時にプログラムが異常終了する原因となります。java.langパッケージのクラスには、NumberFormatExceptionをスローする可能性のあるメソッドやコンストラクタが多数存在します。代表的なものは以下の通りです。public static int parseInt(String s) throws NumberFormatExc
-
Pythonでリスト内の各要素の先頭文字(先頭要素)を取り出して出力する方法
Pythonでは、リストに格納された各要素の先頭部分を取り出したい場面がよくあります。ここでは、代表的な2つのケース——「文字列のリストから各文字列の1文字目を取得する場合」と「ネストされたリストから各サブリストの先頭要素を取得する場合」——について、具体的なコード例とともに解説します。 文字列のリストから各文字列の先頭文字を取得する リストが文字列のコレクションである場合、forループで各文字列を順番に取り出し、インデックス [0] を指定することで先頭の1文字を取得できます。 >>> L1 = [aaa, bbb, ccc] >>> for strin