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

Kotlin布尔值比较问题求助:手机使用时长对比输出不符

问题分析与解决

你的代码核心问题出在timeSpent函数内部——你重新声明了局部变量today和拼写错误的yeseterday,直接覆盖了调用时传入的参数值。不管你调用函数时传什么数值,函数都会固定比较300 > 250,这就是第三个测试用例(传入200和220)返回true而非期望false的原因。

修复后的代码

fun main() {
    var timeSpentToday = 300
    var timeSpentYesterday = 250
    
    println(timeSpent(timeSpentToday, timeSpentYesterday))
    println()
    
    println(timeSpent(300, 300))
    println()
    
    println(timeSpent(200, 220))
    println()
}

fun timeSpent(today: Int, yesterday: Int): Boolean {
    // 移除内部的变量声明,直接使用传入的参数进行比较
    return today > yesterday
}

关键修复点

  • 删除函数内的val today = 300和val yeseterday = 250,让函数使用调用时传入的参数执行逻辑
  • 原函数里的yeseterday是拼写错误,修复后无需额外声明该变量,直接用参数yesterday即可

修复后运行代码,输出会完全符合你的预期:true、false、false。

内容的提问来源于stack exchange,提问作者Ace Nguyen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 15:35:26