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

Kotlin中println报Too many arguments传参过多错误的解决方法

Kotlin 调用println传多参数报Too many arguments错误解决

问题背景

学习Kotlin基础语法阶段,编写实现两数相加功能的简单控制台程序时,触发如下编译报错:

GODCalculator.kt: (18, 15):Too many arguments for public inline fun println(): Unit defined in kotlin.io

检索互联网公开解决方案未找到匹配的有效处理方法,使用的开发工具为IntelliJ IDEA Community Edition,当前在控制台环境下学习Kotlin语法,暂未接触Android开发。

问题相关原始代码

fun addition(){
    println("So please insert two numbers, the program i mean the god will solve your math problem.")
    print("Number #1: "); val z = readLine()!!.toInt()
    print("\n")
    print("Number #2: "); val c = readLine()!!.toInt()
    val v = c+z
    println(z," + " ,c, " = ",v)
}

尝试过的无效写法

先后测试两种写法均无法正常运行:

  • 多参数逗号分隔传入println
    println(z," + " ,c, " = ",v)
    
    报错原因是Kotlin标准库提供的println()方法仅支持接收单个入参,不支持多参数逗号分隔传入自动拼接的调用方式,传入参数数量超过1就会触发上述编译错误。
  • 用+号拼接所有内容后传入
    println(z+" + "+c+" = "+v)
    
    这种写法虽然能勉强通过编译,但可读性差,拼接不同类型变量时容易触发隐式类型转换问题,不属于Kotlin推荐的编码方式。

最终可行方案

使用Kotlin内置的字符串模板语法实现输出,既符合Kotlin编码规范,也不会触发参数数量错误:

println("$z + $c = $v")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 21:18:21