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

【Java入門】文字列から偶数の長さの単語だけを抽出して出力する方法

この記事では、Javaを使って文字列の中から偶数の長さの単語だけを抽出し、出力する方法について詳しく解説します。

String(文字列)は、1つ以上の文字で構成され、ダブルクォーテーション(" ")で囲まれたデータ型です。一方、char型はアルファベット・整数・特殊文字など、単一の文字を格納するためのデータ型です。文字列処理の基本を理解するうえで、この違いを押さえておくことが重要です。

処理の流れ(実行イメージ)

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

入力文字列:

Java Programming are cool

期待される出力:

偶数の長さの単語:
Java
cool

この例では、「Programming」(11文字)と「are」(3文字)は奇数の長さのため除外され、4文字の「Java」と「cool」のみが出力されます。

アルゴリズム

ステップ1 - 処理を開始する
ステップ2 - 文字列変数 input_string を宣言する
ステップ3 - 変数に値を設定する
ステップ4 - forループで文字列を走査し、各単語に対して word.length() % 2 を計算する。結果が0であれば長さが2で割り切れる(偶数)ことを意味するので、その単語を出力対象として保持する
ステップ5 - 結果を表示する
ステップ6 - 処理を終了する

例1:main関数内にすべての処理を記述する場合

ここでは、すべての操作をmainメソッドの中に直接記述するシンプルなアプローチを紹介します。小規模なスクリプトや動作確認に適した書き方です。

public class EvenLengths {
   public static void main(String[] args) {
      String input_string = "Java Programming are cool";
      System.out.println("定義された文字列: " + input_string);
      System.out.println("\n偶数の長さの単語:");
      for (String word : input_string.split(" "))
         if (word.length() % 2 == 0)
            System.out.println(word);
   }
}

出力結果

定義された文字列: Java Programming are cool

偶数の長さの単語:
Java
cool

ポイント: split(" ")メソッドで文字列を半角スペースで分割し、拡張for文で各単語を順番に取り出しています。そしてword.length() % 2 == 0という条件式で、単語の文字数が偶数かどうかを判定しています。

例2:オブジェクト指向スタイルで関数にカプセル化する場合

次に、処理を独立したメソッドに切り出し、オブジェクト指向プログラミング(OOP)らしい構造にまとめた例を紹介します。処理の再利用性が高まり、コードの見通しも良くなります。

public class EvenLengths {
   public static void printWords(String input_string) {
      System.out.println("\n偶数の長さの単語:");
      for (String word : input_string.split(" "))
         if (word.length() % 2 == 0)
            System.out.println(word);
   }
   public static void main(String[] args) {
      String input_string = "Java Programming are cool";
      System.out.println("定義された文字列: " + input_string);
      printWords(input_string);
   }
}

出力結果

定義された文字列: Java Programming are cool

偶数の長さの単語:
Java
cool

まとめ

本記事では、split()メソッドによる文字列の分割と、length()メソッドと剰余演算子%を組み合わせた偶数判定という、文字列処理の基本的なテクニックを学びました。この考え方は「特定の条件を満たす単語だけを抽出する」という処理全般に応用できるため、ぜひ他の条件(奇数長の単語の抽出、特定の文字で始まる単語の抽出など)でも試してみてください。

  1. C++プログラムで文字列を「X」字型に表示する方法

    文字列が与えられたとき、その文字列を「X」字型のパターンとして出力するプログラムを作成します。完成イメージは以下の通りです。考え方このパターンを実現するには、3つの変数を活用します。i:行ごとに左から右へ進む位置を表す変数j:右から左へ進む位置を表す変数(len-1-i で計算)k:各行内のスペースと文字の出力位置を判定するための変数各行では、k の位置が i または j と一致した場合にのみ該当する文字を出力し、それ以外の位置にはスペースを表示します。これにより、対角線上に文字が配置された「X」字型のパターンが描かれます。アルゴリズム 関数 void print(string str, in

  2. 文字列の中から偶数の長さの単語を出力するPythonプログラム

    本記事では、与えられた問題を解決するための考え方と実装方法について解説します。Pythonの基本的な文字列操作を組み合わせることで、初心者の方でも簡単に実装できる内容となっています。 問題文 文字列が与えられたとき、その中に含まれる単語のうち、文字数が偶数であるものをすべて画面に表示するプログラムを作成します。 例えば、「tutorial point」という文字列が入力された場合、「tutorial」は8文字(偶数)なので出力され、「point」は5文字(奇数)なので出力されません。 解決のアプローチ この問題は、以下の手順で解決できます。 split()関数を使って、入力文字列を空白区切り