Menu
Coddy logo textTech

Поиск по каталогу

Часть раздела Объектно-ориентированное программирование путешествия по Kotlin на Coddy. Урок 53 из 57.

challenge icon

Задание

Легко

Добавьте команду SEARCH. Ваш код из предыдущего шага уже находится в Library.kt; все команды должны работать точно так же, как и раньше.

  • SEARCH <text>: текст может содержать пробелы. Для каждой книги, название которой содержит этот текст, игнорируя регистр, выведите отдельную строку в порядке идентификаторов книг: Dune (available) или Emma (borrowed by ada). Если совпадений нет, выведите no matches.

Предоставленный код передаёт каждую входную строку в library.handle(line) и выводит каждый возвращённый ответ в отдельной строке. Имена участников состоят из одного слова в нижнем регистре, идентификаторы книг являются целыми числами, а входные данные содержат только описанные на данный момент команды. Для любой другой команды выводится unknown command.

Ваш код должен находиться в Book.kt, Member.kt и Library.kt. В Main.kt находится предоставленный код ввода-вывода, и его нельзя редактировать.

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

fun main() {
    // Предоставленный код ввода/вывода: оставьте его как есть
    val input = generateSequence(::readLine).toList()
    val library = Library()
    for (line in input) {
        for (reply in library.handle(line)) println(reply)
    }
}

Все уроки раздела Объектно-ориентированное программирование

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