string - Kotlin readln() 无法按预期工作

标签 string kotlin readline

如果我连续从 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

关于string - Kotlin readln() 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72345567/

相关文章:

swift - 如何在 ""中打印双引号?

kotlin - 在 TornadoFX 中,如何将布局分离到不同的类,然后在生成器中使用它们?

android-studio - 编译错误: "-Xcoroutines has no effect: coroutines are enabled anyway in 1.3 and beyond"

java - 类转换异常 : ArrayList cannot be cast to String

string - 绑定(bind)到参数时,如何防止字符串参数从 null 更改为空?

c# - 为什么 DataInputStream.readline 在字符串开头添加奇怪的字节

readline - 在Android的QPython控制台中访问命令历史记录

Python 相当于 ignoreboth :erasedups

c++ - 将 Mat 元素 (uchar) 写入 .csv

return - 在Kotlin中使用运行功能代替return是一种好习惯吗?