【问题标题】:Why does this Kotlin code not print anything?为什么这个 Kotlin 代码不打印任何东西?
【发布时间】:2021-08-27 12:31:11
【问题描述】:

此代码应该打印= 符号。但是,当我运行代码时,它什么也没显示……我的代码编辑器说:

从未使用过变量“年龄”
从不使用变量“层”。

我不明白这里发生了什么(注意:我完全是初学者)。

fun main() {
    val age = 24
    val layers = 5
    // printCakeCandles(age)
    fun printCakeTop(age: Int) {
        repeat(age + 2) {
            print("=")
        }
        println()
    }
    // printCakeBottom(age, layers)
}  

【问题讨论】:

  • 仅供参考:彻底回答问题非常耗时。如果您的问题已解决,请通过接受最适合您的需求的解决方案表示感谢。✔ 位于答案左上角的 ▲/▼ 箭头下方。如果出现更好的解决方案,则可以接受新的解决方案。如果您的声望超过 15,您还可以使用 ▲/▼ 箭头对答案的有用性进行投票。 如果解决方案无法回答问题,请发表评论。 What should I do when someone answers my question?。谢谢。

标签: kotlin


【解决方案1】:
  1. 你永远不会调用函数printCakeTop,即唯一会打印一些东西的函数

  2. 您使用 val age = 24(第 2 行)定义的 agefunction printCakeTop(age: int)(第 5 行和第 6 行)中的 age 参数是不同的变量。

  3. 由于所有函数调用,将使用您的 agelayer 变量被注释掉 (//) ,它们被标记为未使用。

所以下面会打印一些东西,并且还使用age 变量

fun main() {
    val age = 24
    val layers = 5
    // printCakeCandles(age)
    fun printCakeTop(age: Int) {
        repeat(age + 2) {
            print("=")
        }
        println()
    }

    printCakeTop(age);
    // printCakeBottom(age, layers)
}  

【讨论】:

  • 感谢您的详细解决方案。问题解决了。 ?
【解决方案2】:

需要调用 printCakeTop 函数进行打印

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2013-04-06
    • 2019-05-18
    • 1970-01-01
    • 2015-08-23
    • 2012-12-30
    相关资源
    最近更新 更多