在 Kotlin 中读取多行数据

Reading multiline data in Kotlin

提问人:bublik 提问时间:9/5/2023 最后编辑:bublik 更新时间:9/5/2023 访问量:31

问:

问题是:

给出了几个字符串,例如:

1 2 3
5 8 5
1 2 2

在 Kotlin 中阅读所有这些内容的最佳方式是什么?如果字符串看起来像这样:

1 2
5 8 5
1 2

如何正确阅读它们而不笨拙?

我知道我会得到多少个字符串,所以我试过了这个(n — 字符串数)

对于第一个示例:

for (i in 0 until n) {
   val (a, b, c) = readln().split(' ').map { it.toInt() }
}

对于第二个示例:

for (i in 0 until n) {
  val string = readln().split(' ').map { it.toInt() }
  val (x, y) = string
  var z = 0
  if (string.size > 2) z = string.last()
}
字符串 Kotlin 输入

评论

0赞 Sweeper 9/5/2023
请显示您想要的输出。
0赞 bublik 9/5/2023
我想读取整个字符串并将每个数字放入变量中。因此,如果我读取第一个字符串“1 2 3”,我想将它们放在变量 x、y、z 中,然后根据问题处理它们
0赞 Sweeper 9/5/2023
因此,对于每一行,您想将该行上的 3 个数字分配给 和 ,如果少于 3 个数字,则仅分配 和 (或仅 ),其余为 0?xyzxyx
0赞 bublik 9/5/2023
是的!但有趣的是,是否可以只分配 x 和 y(或仅分配 x),仅此而已?
0赞 Tenfour04 9/5/2023
这也取决于你是否需要循环外的所有数字,或者你是否只需要逐行处理它们并将它们从循环内部馈送到一些输出中。根据你用它们生成的内容,将它们分配给命名变量而不是将它们作为一个集合一起处理可能是愚蠢的。对于两个项目和三个项目,您的逻辑会完全不同吗?

答: 暂无答案