我喜欢在intelliJ中使用REPL来解决编码问题,就像您在codesignal上会发现的那样。我目前有版本:
IntelliJ IDEA 2019.1.3 (Ultimate Edition)
Build #IU-191.7479.19, built on May 27, 2019
JRE: 1.8.0_202-release-1483-b58 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.4
我一直感到困惑,因为在运行这些暂存文件中的任何一个时,我尝试将输出打印到的前5-9行将不存在。
下面是一个示例程序,可以在控制台上打印出X的金字塔
fun createPyramid(height: Int, drawChar: String = "X") {
// repeat(9) {
// println("blank")
// }
for (i in 1 until height) {
val blank = " ".repeat(height - i)
val row = blank + drawChar.repeat(i * 2 - 1)
println(row)
}
}
createPyramid(11)
如果我已将重复块注释掉,则输出如下:
如果我取消注释重复,我将得到如下输出:
关于这种情况的真正令人困惑的部分是行数似乎是随机的,并且它的工作方式存在不一致之处。
如果我做repeat(9)
,我通常会得到1个实际打印出来的“空白”
如果我大部分时间都repeat(8)
这样做,实际上它不会从金字塔中取出第一个期望的“ X”。
答案 0 :(得分:1)
在提供此输出的表达式旁边,直接在编辑器中打印了划痕的输出。临时输出工具窗口仅打印编辑器中不适合的输出。