You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IntelliJ IDEA scratch tab中使用Kotlin的readln()

IntelliJ IDEA Scratch标签页读取用户输入的问题

结论

IntelliJ IDEA的Scratch标签页默认不支持读取用户输入。

问题原因分析

你运行的readln()函数会阻塞程序等待用户输入,但Scratch的执行环境没有提供输入交互的界面入口,程序会一直处于等待状态,直到触发IDE内置的30秒超时限制,最终返回Couldn't get scratch execution result - stopped by timeout (30,000 ms)错误。

解决方法

方法1:使用普通项目文件运行

创建常规的Kotlin/Java项目文件,编写需要用户输入的代码后直接运行,IDE会打开标准控制台窗口,支持输入交互操作。

方法2:在Scratch中模拟输入

如果必须使用Scratch,可以通过重定向标准输入流来模拟用户输入,示例代码如下:

// 预先设置模拟输入的内容
val simulatedInput = "你的测试输入内容"
System.setIn(simulatedInput.byteInputStream())

val something = readln()
println(something)

运行这段Scratch代码时,程序会直接读取预先设置的模拟输入,不会出现阻塞超时的问题。

内容的提问来源于stack exchange,提问作者Marc Fearby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:41:03