搜索馆藏目录
本课属于 Coddy Kotlin 学习旅程的“面向对象编程”单元。第 53 课,共 57 课。
挑战
简单添加 SEARCH 命令。上一步的代码已在 Library.kt 中,请确保每个命令都和之前一样正常运行。
SEARCH <text>:文本可以包含空格。对于标题包含该文本的每本书,忽略大小写并按图书 ID 排序,每本书回复一行:Dune (available)或Emma (borrowed by ada)。如果没有匹配项,则回复no matches。
提供的代码会将每一行输入传给 library.handle(line),并将返回的每条回复分别打印在一行上。成员名称是单个小写单词,图书 ID 是整数,输入中只包含目前为止介绍的命令。对于任何其他命令,回复 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 在线编辑器