fun main(args: Array<String>) {
val books = arrayListOf("farenheit 451", "1984", "Altered Carbon", "dark matter", "Le probleme à trois corps")
for (book in books) {
if (book.contains('e')) {
println(book)
}
}
}
为什么会打印此结果:
farenheit 451
碳改变
暗物质
三国集团军
何时:
fun main(args: Array<String>) {
val books = arrayListOf("farenheit 451", "1984", "Altered Carbon", "dark matter", "Le probleme à trois corps")
for (book in books) {
if (book.contains('e')) {
for(l in book){
println(l)
}
}
}
}
分别打印每个字符?
我想我知道,但不确定: 第一个循环将遍历每个元素,因此逐行打印书籍名称。
在第二种情况下,嵌套循环在每个元素的每个字符上
我正确理解了吗?
答案 0 :(得分:0)
是的,你是绝对正确的。 books
是字符串的集合,而book
是单个字符串。
因为您不能迭代单个字符串,所以您要求迭代字符串的每个字符(字母)。
因此,您将遍历书籍,farenheit 451
将通过条件,因此l
将为f
,a
,r
,依此类推对于每次迭代。 1984
将被跳过,因为它没有通过条件,也不会被循环。 Altered Carbon
随后将通过条件,因此其每个字符都将循环显示。