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

Kotlin用for循环生成乘法表出现unresolved reference: i错误如何解决

问题原因
  • Kotlin 中 for 循环在未显式书写大括号{}的情况下,仅会将循环头后紧接的第一行代码识别为循环体。你编写的代码里,只有var mul = num * i属于for循环的执行内容,println("$num * $i = $mul")实际上是在for循环外部执行的。
  • 变量i的作用域仅限for循环内部,循环外的代码无法访问该变量,因此编译器会抛出unresolved reference: i的错误。另外变量mul的作用域也仅限循环内部,即使i的问题解决,循环外访问mul也会抛出同类未定义错误。
修复方案

给for循环添加大括号{},将乘法计算和打印逻辑都包裹进循环体中,保证两行代码都在i的作用域范围内执行。

修正后的完整代码如下:

import java.util.Scanner

fun main(args: Array<String>) {
    val read = Scanner(System.`in`)

    println("Enter any number:")
    var num = read.nextInt()

    for(i in 1..10) {
        var mul = num * i
        println("$num * $i = $mul")
    }
}

内容的提问来源于stack exchange,提问作者Shrutika Jaiswal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:24:01