【问题标题】:Differences between loops and nested loops in kotlinkotlin 中循环和嵌套循环的区别
【发布时间】:2019-04-21 07:21:13
【问题描述】:
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)
        }
    }
}

为什么会打印这个结果:

华氏 451
变质碳
暗物质
Le probleme à trois corps

当这个:

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)
            }
        }
    }
}

单独打印每个字符?

我想我知道,但不确定: 第一个循环将遍历每个元素,因此逐行打印书籍名称。

而在第二种情况下,嵌套循环遍历每个元素的每个字符

我理解正确吗?

【问题讨论】:

    标签: loops for-loop while-loop nested nested-loops


    【解决方案1】:

    是的,你完全正确; books 是字符串的集合,而book 是单个字符串。

    因为您不能迭代单个字符串,所以您要求迭代字符串的每个单独的字符(字母)。

    因此,您将遍历书籍,farenheit 451 将通过条件,因此 l 将是 f、a、r 等每次迭代。 1984 将被跳过,因为它没有通过条件,并且不会被循环。 Altered Carbon 然后将传递条件,因此将循环其每个字符。

    【讨论】:

    • oooo 所以在第二种情况下,因为它不能迭代单个字符串,它会自动迭代每个字符到嵌套循环?无论如何,字符串不就是一个字符数组吗?
    • 感谢您花时间回答我的问题,即使它们看起来对您来说真的很容易:s
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 2021-08-16
    • 2016-08-02
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多