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 中仍然存在。
如果我连续从 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 中仍然存在。