MST

星途 面试题库

面试题:Kotlin循环结构在复杂业务场景下的应用

在一个Kotlin项目中,需要处理多层嵌套的业务逻辑。例如,有一个包含多个子列表的主列表,每个子列表又包含多个子子列表,每个子子列表包含一些数值。要求通过循环结构,计算出所有数值的总和,并且在遇到数值为0时停止计算当前子子列表,并开始计算下一个子子列表。请用Kotlin代码实现该逻辑,并阐述你对循环嵌套和终止条件处理的设计思路。
45.2万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试

Kotlin代码实现

fun main() {
    val mainList = listOf(
        listOf(
            listOf(1, 2, 3),
            listOf(4, 0, 5),
            listOf(6, 7, 8)
        ),
        listOf(
            listOf(9, 10, 11),
            listOf(12, 13, 0),
            listOf(14, 15, 16)
        )
    )

    var totalSum = 0
    for (subList in mainList) {
        for (subSubList in subList) {
            for (number in subSubList) {
                if (number == 0) {
                    break
                }
                totalSum += number
            }
        }
    }
    println("所有数值的总和: $totalSum")
}

设计思路

  1. 循环嵌套
    • 最外层for循环遍历mainList,这样可以依次访问到每个子列表。
    • 中层for循环遍历子列表,从而访问到每个子子列表。
    • 最内层for循环遍历子子列表中的数值,以便对每个数值进行操作。
  2. 终止条件处理
    • 在最内层循环中,通过if (number == 0)判断当前数值是否为0。
    • 当数值为0时,使用break关键字跳出当前子子列表的循环,即停止计算当前子子列表,开始计算下一个子子列表。这样就能满足在遇到数值为0时停止计算当前子子列表的要求。通过这种方式,可以按照业务逻辑计算出所有数值的总和。