控制台输入字符串,输出数组<int>(Kotlin)

时间:2018-04-19 11:29:02

标签: kotlin

我正在尝试从控制台读取一行,将输入的数字转换为整数,然后将它们添加到

Array<Int>

我提出的最短单线是

val na: Array<Int> = readLine()!!.split(' ').map{it.toInt()}.toTypedArray() // Array<Int>

这比下面的python版本长得多。是否可以编写更短的代码来实现相同的结果?这在比较性的编程中很重要。

na = [int(i) for i in input().split(' ')]

2 个答案:

答案 0 :(得分:3)

你真的不需要声明变量类型,所以:

val na = readLine()!!.split(' ').map { it.toInt() }.toTypedArray()

是否为数组?为什么不能使用列表?它对你来说可能是同样的事情,你甚至不会注意到差异(如果有的话)。您将能够以相同的方式迭代它。对于列表,您可以:

val na = readLine()!!.split(' ').map { it.toInt() }

我猜没有办法缩短它。 readLine超过inputtoInt超过int,而it超过i ...有&#39}现在没多大办法了。实际上它并不重要;)

答案 1 :(得分:1)

你的Python版本没有给你array,它给出了一个列表。那么,

也是如此
val na = readLine()!!.split(' ').map{it.toInt()}

只比Python多几个字符。