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

Kotlin停车场收费计算:如何实现第三阶段日封顶收费逻辑

停车场收费逻辑实现方案

实现思路

  • 核心按照24小时为单个计费周期拆分总时长,每个周期单独计费后累加,避免全局封顶导致长时长计费错误
  • 每个完整24小时周期的费用取「按前两阶段规则计算的费用」和「单日15美元封顶值」的较小值,符合封顶规则要求
  • 不足24小时的剩余时长,直接沿用已验证的前两阶段逻辑计算费用

完整可运行代码

fun main(args: Array<String>) {
    val hours = readLine()!!.toInt()
    val DAILY_CAP = 15.0 // 单日封顶费用,可按需调整
    val fullDays = hours / 24 // 完整24小时周期数
    val remainHours = hours % 24 // 剩余不足24小时的时长

    // 单个完整24小时按前两阶段规则计算的基础费用:5*1 + 19*0.5 = 14.5美元
    val dailyBaseCost = 5 * 1.0 + (24 - 5) * 0.5
    val fullDaysCost = fullDays * minOf(dailyBaseCost, DAILY_CAP)

    // 计算剩余时长费用
    var remainCost = 0.0
    if (remainHours <= 5) {
        remainCost = remainHours * 1.0
    } else {
        remainCost = 5 * 1.0 + (remainHours - 5) * 0.5
    }

    val total = fullDaysCost + remainCost
    println(total)
}

计费验证

  • 停车6小时:剩余时长6小时,费用51 +10.5 = 5.5美元,符合规则
  • 停车24小时:1个完整周期,费用14.5美元(未超过15美元封顶,按实际收取)
  • 停车25小时:1个完整周期费用14.5 + 剩余1小时费用1 = 15.5美元,符合要求
  • 停车48小时:2个完整周期,总费用14.5*2=29美元

内容的提问来源于stack exchange,提问作者Ilkin Ahmad Jr.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:45:00