找出账户余额里的 bug

来自 面向对象编程
Kotlin 2.4.10 入门 4分钟 找出 1处问题

余额绝不能为负数。请找出对象边界错误。

kotlin
class Wallet(initialCents: Int) {
    var balanceCents: Int = initialCents

    init {
        require(initialCents >= 0)
    }

    fun spend(cents: Int): Boolean {
        require(cents > 0)
        if (cents > balanceCents) return false
        balanceCents -= cents
        return true
    }
}

fun main() {
    val wallet = Wallet(500)
    wallet.balanceCents = -1
    println(wallet.balanceCents)
}
在试验场中打开
报告错误