从 Kotlin 的同一行读取多个整数?

Tad*_*ney 4 kotlin

我正在 Hackerrank 上进行 30 天的 Kotlin 代码测试,但我被困在了第 7 天。

如何在一行上读取多个整数?

如何添加到数组中并反向显示?

我已经用 Java 解决了这个问题,但缺乏 Kotlin 中所需的语法

输入:

4

1 4 3 2

我的代码:

fun main(args: Array<String>) {

   val n = readLine()!!.toInt()
   var arr = Array(n)
   for(i in 0 until n)
   {
      arr[i] = readLine()!!.toInt() //Not Working? nor does readLine()!!.split(' ').toInt()

   }
   for(item in arr.size - 1 downTo 0)
   {
      print("${item} ")
   }
}
Run Code Online (Sandbox Code Playgroud)

JK *_* Ly 5

编辑:问题已从原始问题更新

问题是readLine()将从 stdin 读取整行,因此每次调用readLine()for 循环时都会导致每次读取单独的行。

一种方法是读取该行,然后拆分每个值并将其映射到 Int。

readLine()?.let {
    val numOfValues = it.toInt()
    println(numOfValues)

    readLine()?.let { line ->
        line.split(" ").map {
            it.toInt()
        }.reversed().forEach {
            println(it)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)