上一篇我們為摯友用kotlin寫出了生日祝福:
fun main(){
var age = 38
println("摯友生日快樂!")
println("你應該${age}了")
println("${age}是最適合慶祝的年紀")
//最後再送摯友一個生日蛋糕
println(" ,,,,, ")
println(" ||||| ")
println(" =========")
println("@@@@@@@@@@@")
println("{~@~@~@~@~}")
println("@@@@@@@@@@@")
//暖
//摯友臨表涕泣不知所云
}
那我們稍微修改一下,將摯友換成名字,順便增加一點東西:
fun main(){
var age : Int = 38
var name : String = "Steven"
println("${name}生日快樂!")
println("你應該${age}了")
println("${age}是最適合慶祝的年紀")
//最後再送摯友一個生日蛋糕
println(" ,,,,, ")
println(" ||||| ")
println(" =========")
println("@@@@@@@@@@@")
println("{~@~@~@~@~}")
println("@@@@@@@@@@@")
//暖
//摯友臨表涕泣不知所云
}
我們在age跟name後面分別增加了它們的型態(type),目的是讓電腦知道這個變數代表的是甚麼,減少debug的時間。但是電腦也會應後面的資料內容來判斷,這個變數應該是甚麼型態,又稱型別註記。
我們可以用最簡單最直接的方法來幫賀卡畫出外框,就是直接print出來 (我在高中程式課常常就是用print去完成作業==),程式如下:
fun main() {
println("=======================")
println("Happy Birthday, Steven")
println("=======================")
}
但是光是上面一條外框,你就要重複按23次的等號,這樣麻煩的事情我們都會直接交給程式來處理,就可以運用到repeat語句:
repeat(23){
print("=")
}
repeat(n){...}是一種語句,意思是重複大括號的內容n次。
上面的程式碼代表著:重複print("=")這個程式23次。那這邊給這個程式一個名字:
fun printBorder(){
repeat(23){
print("=")
}
println()
}
把這個動作取名為printBorder涵式,我在他重複23次之後換行。接下來我們就可以將main的程式碼稍微修改下,在main裡面去呼叫printBorder涵式:
fun main() {
printBorder()
println("Happy Birthday, Steven")
printBorder()
}
fun printBorder(){
repeat(23){
print("=")
}
println()
}
把兩個涵式寫在一起,它們才互相找的到對方喔。輸出會長這樣子:
突然有天屬猴的摯友跟你說他不太喜歡"=",因為沒有相交。他比較喜歡熱鬧的掌聲"%",這時候你可以直接在printBorder裡去修改符號,也可以特地宣告一個變數去放符號,這樣就不需要進到程式底層修改。
fun main() {
var border:String ="%"
printBorder(border) //這邊將上面宣告的符號作為參數,傳到printBorder的涵式裡
println("Happy Birthday, Steven")
printBorder(border)
}
fun printBorder(border:String){ //這邊的border是在這邊預設會有一個String的參數會傳進來。
repeat(23){
print(border)
}
println()
}
輸出結果:
同理你也可以運用在符號的數量上:
fun main() {
var border:String ="%"
var timesToRepeat:Int = 28
printBorder(border,timesToRepeat) //把border跟timesToRepeat傳到下面的printBorder涵式
println("Happy Birthday, Steven")
printBorder(border,timesToRepeat)
}
fun printBorder(border:String,timesToRepeat:Int){
repeat(timesToRepeat){
print(border)
}
println()
}
輸出結果:
如此你只知道要改符號跟符號數量的時候,就可以修改變數的資料內容就可以了,不用進到程式邏輯裡,這樣可以減少bug的出現,對於程式的易讀性也會提高。
最後,有興趣的朋友可以運用repeat去繪製出生日蛋糕,上面會有與年紀相符數量的蠟燭,給個提示就是,使用fun把蛋糕跟蠟燭拆開來繪製,大概就是會長這樣:
如果沒有辦法的話,就google吧!上網搜尋資料也是工程師必要的技能呢。
下一篇見寫寫打家打家擺掰。