2010-10-18 17:42 墳墓 (Brian Hsu)
在 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)
回響