Menu
Coddy logo textTech

Итерация по строкам, ч. 1

Часть раздела Основы путешествия по Kotlin на Coddy. Урок 76 из 93.

Как и списки, строки можно перебирать посимвольно с помощью цикла for. В 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

Задание

Средне

Прочитайте строку из ввода и подсчитайте, сколько гласных (a, e, i, o, u) она содержит. Учитывайте как строчные, так и прописные гласные.

Переберите каждый символ в строке и проверьте, является ли он гласной. Выведите общее количество найденных гласных.

Формат ввода:

  • Одна строка

Формат вывода:

Выведите одно целое число, представляющее количество гласных в строке.

Подсказка: Перед проверкой можно преобразовать каждый символ в нижний регистр с помощью lowercaseChar() или отдельно проверить оба регистра.

Попробуйте сами

fun main() {
    // Считать ввод
    val text = readLine()!!
    
    // TODO: Напишите свой код ниже, чтобы подсчитать гласные в строке
    
    
    // Вывести результат
    println(count)
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Kotlin