以下代码:
fun main(args: Array<String>) {
print("Write anything here: ")
val enteredString = readLine()
println("You have entered this: $enteredString")
}
在KotlinPlayground中出现以下错误:
Write anything here: You have entered this: null
在这里,用户没有机会输入输入。在执行初始打印语句后,编译器不会等待用户提供输入,而是跳至下一个打印语句。 为什么会这样?我已经在其他几种在线Kotlin编译器中尝试过相同的操作,但是却遇到了相同的错误。
答案 0 :(得分:2)
没有错误。 readLine
仅返回null
(因为Kotlin Playground没有可读取的控制台),并且按预期方式打印。
例如在https://ideone.com/上,您可以说出要用于输入的内容,并会打印该行(尽管其Kotlin版本相当旧)。
答案 1 :(得分:1)
因为Kotlin游乐场没有用户输入控制台,所以这不是错误。对于用户输入,您可以使用https://ideone.com/或 https://www.jdoodle.com/compile-kotlin-online/
我建议您使用第二个jdoodle
。运行和读取用户输入的速度要快得多,几乎可以使用最新版本的Kotlin和JRE。
如果您喜欢使用命令行参数进行播放(运行),那么它将对您有好处。