从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) } } }