Javaで文字列内の母音をカウントする方法をわかりやすく解説
Javaでは、拡張forループと条件分岐を組み合わせることで、文字列に含まれる母音(a、e、i、o、u)の数を簡単にカウントできます。この記事では、基本的な実装方法をサンプルコード付きで解説します。
カウントの仕組み
まず、カウント用の変数 count を 0 で初期化します。これは、母音の数をこの変数に加算していくためです。
次に、toCharArray() メソッドを使って文字列を1文字ずつ取り出し、Character.toLowerCase() ですべて小文字に変換します。これにより、大文字・小文字を区別せずに母音を判定できるようになります。
for(char ch : myStr.toCharArray()) {
ch = Character.toLowerCase(ch);
if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
++count;
}
}
サンプルプログラム
以下は、文字列「Jamie」に含まれる母音の数をカウントする完全なサンプルコードです。
public class Demo {
public static void main(String[] args) {
String myStr = "Jamie";
int count = 0;
System.out.println("String = "+myStr);
for(char ch : myStr.toCharArray()) {
ch = Character.toLowerCase(ch);
if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
++count;
}
}
System.out.println("Vowels = "+count);
}
}
実行結果
このプログラムを実行すると、次のような出力が得られます。
String = Jamie Vowels = 3
「Jamie」という文字列には「a」「i」「e」の3つの母音が含まれているため、結果は 3 となります。
ポイントのまとめ
toCharArray():文字列をchar型の配列に変換し、1文字ずつ処理できるようにします。Character.toLowerCase():大文字を小文字に統一することで、「A」や「E」などの大文字の母音も正しくカウントできます。- 条件分岐では、論理和演算子(
||)を使って5つの母音を一度に判定しています。
この手法は初心者向けの練習問題としてもよく使われる基本パターンなので、ぜひマスターしておきましょう。
-
【Java】正規表現で括弧()を含む文字列に一致させる方法とサンプルコード
Javaで文字列の中に括弧「(」や「)」が含まれているかどうかを判定したい場合、正規表現を使うと簡単に実装できます。この記事では、括弧に一致する正規表現の書き方と、実際に動作するサンプルコードを2つのパターンで紹介します。括弧に一致する正規表現以下の正規表現は、括弧を含む文字列を受け入れます。^.*[\\(\\)].*$;このパターンの各要素は次のような意味を持っています。^ … 文字列(行)の先頭に一致します。.* … 0個以上の任意の文字に一致します。[\\(\\)] … 括弧「(」または「)」に一致します。正規表現では括弧は特殊文字のため、バックスラッシュでエスケープする必要があります。
-
【Java】正規表現を使って文字列内の母音を検出する方法
Javaの正規表現では、角括弧 [ ](文字クラス)の中にマッチさせたい文字をまとめて記述できます。このメタ文字「[ ]」は、その中に指定したいずれか1文字に一致することを意味します。したがって、文字列に母音が含まれているかどうかを調べたい場合は、大文字・小文字の母音をすべて角括弧の中に列挙した次のパターンを使用します。[aeiouAEIOU]例1:PatternクラスとMatcherクラスを使う方法まず Pattern.compile() で正規表現をコンパイルし、Matcher オブジェクトを生成します。そして find() メソッドを呼び出すことで、入力文字列の中にパターンに一致する部分