如果我连续从 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 中仍然存在。
关于string - Kotlin readln() 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72345567/