[Scala] Pattern Matching 的遞回作業。

在 PTT 的 Java 版上看到的,一開始沒想到可以用遞迴來作,還一直想說這個不用迴圈是要怎麼寫(Functional Programming 根本白玩了嘛)……一直到 james732 板友提醒,我才想到可以用遞迴。

作業題目如下: 使用者輸入N整數 (1-26) 接著產生N-1個字元陣列,丟入英文字母A~第N個字母,之後反置輸出。 此程式不能使用for、while、do while等迴圈控制 例如輸入5 → "A" "B" "C" "D" "E" → 遞回反置輸出 → "E" "D" "C" "B" "A"

為了反省,把這個作業完成了,不過有點偷懶,沒有用到陣列……

val lastCharacter = 4

def printLetter (x: Int): Unit = x match {
    case n if n <= 1 => println ((64+x).toChar)
    case n if n >  1 => println ((64+x).toChar)
                        printLetter(x-1)
}

printLetter(lastCharacter)

回響