Menu
Coddy logo textTech

Выдача книг

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

challenge icon

Задание

Легко

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

  • BORROW <name> <id>: выполняйте проверки в этом порядке и возвращайте сообщение о первой проблеме: no member bo, no book 9, Dune is not available, ada has reached the limit (участник может иметь не более 2 книг). В противном случае зарегистрируйте выдачу и для книги, и для участника, а затем верните сообщение ada borrowed Dune.

Предоставленный код передаёт каждую строку ввода в 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