Kotlin readln() 没有按预期工作

Kotlin readln() does not work as intended

如果我连续从 readln() 中赋值,它们将无法正常工作;第二个变量是空行。

fun main() {
  val first = readln()
  val second = readln()
  println(first)
  println(second) 
}

第二个变量是否读取了一些空字符串或 changeLine 东西? 如果我调换第 3 行和第 4 行的顺序,一切正常。

fun main() {
  val first = readln()
  println(first)
  val second = readln()
  println(second)
}

只是想知道第一个代码发生了什么?

编辑: 我在 Win11 下的 Intellij 社区和 VMware 下的 Ubuntu 中尝试过这个。 这是图片: console debug 我通过左键单击绿色三角形 运行 代码。

编辑: 第一个代码在我的旧笔记本电脑上运行良好,但在我将 Intellij 更新到最新版本后,第一个代码也损坏了。

在 2022.1.1 中,控制台中存在一些错误,导致 readLine(以及其他阅读器)跳过用户输入。 [1] 此错误已在 2022.1.2 预览版中修复。 [2] 奇怪的是,这个问题似乎在 2022.2 EAP 中仍然存在。

[1] https://youtrack.jetbrains.com/issue/IDEA-293951

[2] https://youtrack.jetbrains.com/articles/IDEA-A-162/IntelliJ-IDEA-2022-1-2-Preview-221-5787-3-build-Release-Notes