readLine для переменного количества Ints - PullRequest
2 голосов
/ 29 мая 2020

Есть ли способ закодировать что-то подобное в kotlin для переменного количества целых чисел? Например, ввод должен быть «1 3 5» или «3 2 2 7» (строка с разделенными пробелами Ints). И мне не разрешено использовать java библиотеки.

val (x, y) = readLine()!!.split(' ').map(String::toInt)
println(x+y)

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 29 мая 2020

Если вы хотите просто распечатать каждую строку, вы можете использовать forEach

readLine()!!.split(' ').forEach{ println(it) }

Если вы хотите печатать как int, вы можете использовать forEach с toInt()

readLine()!!.split(' ').forEach{ println(it.toInt()) }

Или, если вам нужна сумма, вы можете использовать sumBy напрямую

readLine()!!.split(' ').sumBy{ it.toInt() }
0 голосов
/ 29 мая 2020

Нашел решение своей проблемы:

var list: List<Int> = readLine()!!.split(' ').map(String::toInt)
for(m in  list){
    println(m)
}
...