从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) } } }
- 为什么Kotlin修饰符“打开”与“数据”不兼容?
- JvmOverloads类的主要构造函数的注释
- 你如何在Kotlin中用Dagger 2注入命名的字段参数?
- RxJava Observable.create包装可观察订阅
- Angular:如何在表单提交中发布文件到服务器
- Out-projected type'ArrayList <*>'禁止使用'public open fun add(index:Int,element:E):java.util.ArrayList'
- 如何防止杰克逊(德)序列化某些属性?
- 文件名,目录名称或卷标语法不正确 – Kotlin – Maven
- yield在Maven项目的buildSequence中抛出KotlinNullPointerException