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

Kotlin中用户输入创建数组报错?[Ljava.lang.Character;错误解析

问题原因解析

1. 数组打印方式导致的格式输出

你看到的[Ljava.lang.Character;@3f91beef不是错误,而是Kotlin中引用类型数组(Array<Char>)的默认toString()输出。当直接打印数组对象时,JVM会返回数组的类型标识([Ljava.lang.Character;代表Character类型的一维数组)加上对象的哈希码后缀,这是对象默认的字符串表现形式,并非报错。

要正确打印数组内的元素,需要调用数组的contentToString()方法,它会将元素格式化为[元素1, 元素2, 元素3]的可读形式。

2. 代码中的冗余操作

你的代码存在一处冗余:readln().first().toChar(),first()方法已经返回Char类型,无需额外调用toChar()。另外,-1操作是将字符的ASCII码值减1后转回Char,比如输入'a'(ASCII 97)会变成ASCII 96对应的字符,若这不是你预期的逻辑,需要调整。

修正后的代码示例:

fun main() {
    val initArray = Array<Char>(3) { readln().first() - 1 }
    println(initArray.contentToString())
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:12:04