Menu
Coddy logo textTech

文字列を反復処理する P1

CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 76/93。

リストと同様に、文字列もforループを使って1文字ずつ反復処理できます。Kotlinでは、文字列は本質的に文字の並びなので、同じ反復パターンが適用されます。

val word = "Hello"
for (char in word) {
    println(char)
}
// 出力:
// H
// e
// l
// l
// o

各反復では、文字列から単一の Char が得られます。これは、特定の文字の数を数えたり、特定の条件に基づいて新しい文字列を構築したりするなど、各文字を個別に調べたり処理したりする必要がある場合に便利です。

val text = "Kotlin"
var count = 0
for (char in text) {
    if (char == 'o' || char == 'i') {
        count++
    }
}
println(count)  // 2

文字列に withIndex() を使って、リストの場合と同じように位置と文字の両方を取得することもできます。

val name = "Ada"
for ((index, char) in name.withIndex()) {
    println("$index: $char")
}
// 出力:
// 0: A
// 1: d
// 2: a
challenge icon

チャレンジ

中級

入力から文字列を読み込み、その中に含まれる母音(aeiou)の数を数えます。小文字と大文字の両方の母音を考慮してください。

文字列内の各文字を順に調べ、それが母音かどうかを確認します。見つかった母音の合計数を出力してください。

入力形式:

  • 1つの文字列

出力形式:

文字列内の母音の数を表す整数を1つ出力してください。

ヒント: 確認する前に lowercaseChar() を使って各文字を小文字に変換するか、大文字と小文字の両方を個別に確認できます。

自分で試してみよう

fun main() {
    // 入力を読み取る
    val text = readLine()!!
    
    // TODO: 文字列内の母音を数えるコードを下に書いてください
    
    
    // 結果を出力する
    println(count)
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Kotlinプレイグラウンド