我喜欢在 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”。