Пользовательский ввод Kotlin с использованием readline () - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь получить несколько входных данных от пользователя, и я использую readlint()!!, следующий за циклом for, когда я пытаюсь распечатать эти входные данные обратно, он показывает только один выход, который является последним ...

И я попробовал .split(' ') метод, который немного лучше, чем для трюка с Loop, но я хочу, чтобы моя программа была лучше ..

1 - ввод данных из новой строки (для нескольких входов)

2 - распечатывает все пользовательские данные

вот мой код и он prints в одну строку

fun getTheData() {
       try{
           val(a,b,c) = readLine()!!.split(' ')
           println("$a , $b, $c")

       }catch (ex: IndexOutOfBoundsException){
            println("invalid")
       }
    }

1 Ответ

0 голосов
/ 19 мая 2019

Здесь вы читаете только одну строку. Функция split() просто разбивает вашу одну строку на несколько частей, разделенных одним пробелом.

Короче говоря, если вы введете 1 2 3 в одну строку, будет напечатано 3 числа. Однако, если вы введете несколько строк, вы получите только первую строку, поскольку вы никогда не читаете другие строки (только один вызов readLine()).

Для того, чтобы прочитать больше строк, вам нужен какой-то цикл, например:

fun main() {
    while(true) {
        val line = readLine()!!
        println(line)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...