[英]how return array from function in Kotlin
Hello i'm trying to return array from my function but i got this in result:您好,我正在尝试从我的 function 返回数组,但结果是:
[Ljava.lang.String;@1be6f5c3
but function output correctly, for example:但是 function output 正确,例如:
12, 54, 65
fun main() {
val array = arrayOf(loopForNumbers(n))
println(array)
}
fun loopForNumbers(n: Int): String {
val array = IntArray(n)
var i = 0
while (i < n) {
println("Input number № ${i + 1}")
array[i] = readLine()?.toIntOrNull() ?: continue
i++
}
println(array.joinToString())
return array.joinToString()
}
You got confused I think, it's better to return the array as-is and then format it我想你很困惑,最好按原样返回数组然后格式化它
fun main() {
val array = loopForNumbers(n)
println(array.joinToString())
}
fun loopForNumbers(n: Int): IntArray {
val array = IntArray(n)
var i = 0
while (i < n) {
println("Введите число № ${i + 1}")
array[i] = readLine()?.toIntOrNull() ?: continue
i++
}
println(array.joinToString())
return array
}
but function output correctly, for example:
但是 function output 正确,例如:
12, 54, 65
val array = arrayOf(loopForNumbers(n))
This creates a single-element array containing (in this case) the string "12, 54, 65"
.这将创建一个包含(在本例中)字符串
"12, 54, 65"
的单元素数组。
println(array)
println
calls toString()
on its argument, and for an array toString
is pretty useless because it doesn't include the array contents ; println
在其参数上调用toString()
,对于数组toString
非常无用,因为它不包含数组内容; [Ljava.lang.String;@1be6f5c3
is a String
array and [I@1be6f5c3
is an Int
array, but the part after @
just lets you see if two arrays are the same. [Ljava.lang.String;@1be6f5c3
是String
数组, [I@1be6f5c3
是Int
数组,但是@
后面的部分只是让你看看两个arrays是否相同。 Instead try而是尝试
println(array.joinToString())
see https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/join-to-string.html for documentation and optional parameters.有关文档和可选参数,请参阅https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/join-to-string.html 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.