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

我正在做Hackerrank Kotlin的30天代码,我被困在第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} ") } } 

编辑:问题是从原来的更新

问题是readLine()会从stdin读取整行,所以每次在for循环中调用readLine()时,都会导致每次读取一个单独的行。

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

 readLine()?.let { val numOfValues = it.toInt() println(numOfValues) readLine()?.let { line -> line.split(" ").map { it.toInt() }.reversed().forEach { println(it) } } }