You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin自定义平均值函数如何处理空列表的除零异常?

Kotlin自定义整数列表平均值函数(兼容空列表)

原代码在处理空列表时会触发除零异常,以下是修改后的实现,可优雅处理空列表并返回自定义默认值,且未使用预定义的平均值相关库函数:

基础实现(固定默认值)

fun getAverage(nums: List<Int>): Double {
    return if (nums.isEmpty()) {
        0.0 // 空列表时返回的默认值,可按需修改
    } else {
        nums.sum().toDouble() / nums.size
    }
}

// 示例调用
val numbers = listOf(1, 2, 3, 4, 5)
val average = getAverage(numbers)
println(average) // 输出 3.0

val emptyNumbers = emptyList<Int>()
val emptyAverage = getAverage(emptyNumbers)
println(emptyAverage) // 输出 0.0

进阶实现(可自定义默认值)

如果需要根据场景灵活指定空列表的返回值,可以把默认值设为函数参数:

fun getAverage(nums: List<Int>, defaultValue: Double = 0.0): Double {
    return if (nums.isEmpty()) {
        defaultValue
    } else {
        nums.sum().toDouble() / nums.size
    }
}

// 自定义默认值调用示例
val customEmptyAverage = getAverage(emptyList(), 1.0)
println(customEmptyAverage) // 输出 1.0

核心逻辑说明

  • 通过isEmpty()判断列表是否为空,从根源避免除零异常
  • 空列表分支直接返回预设默认值,非空分支执行原有的求和、转浮点、除法计算逻辑
  • 完全自定义实现,未依赖Kotlin标准库中预定义的average()等函数,方便后续按需调整计算规则

内容的提问来源于stack exchange,提问作者Dolev Mitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 20:45:57