昨日用repeat绘制生日蛋糕解答:
fun main() {
val age = 24
val layers = 5
printCakeCandles(age)
printCakeTop(age)
printCakeBottom(age, layers)
}
fun printCakeCandles(age: Int) {
print (" ")
repeat(age) {
print(",")
}
println() // Print an empty line
print(" ") // Print the inset of the candles on the cake
repeat(age) {
print("|")
}
println()
}
fun printCakeTop(age: Int) {
repeat(age + 2) {
print("=")
}
println()
}
fun printCakeBottom(age: Int, layers: Int) {
repeat(layers) {
repeat(age + 2) {
print("@")
}
println()
}
用age这个Int变数作为其他function的parameter,再去print出蛋糕的形状,这个时候你可能会想问,工程师讲话一定要这麽讨厌的中英混杂吗?
没错。这样才专业。
除了昨天说到的repeat语句可以重复的执行,还有很多类似的语句都有类似的功能,但使用上的情境就会不一样。我跟金城武也很像,但其实名字不一样,我也没有日本国籍。
今天就稍微说明一下基本的回圈语法!GOGO!
直接看程序码好了~~(因为当初高中老师也是直接丢程序码给我们看,连说明都没有)~~
fun printOneToFive(){
for(i in 1..5){
print(i)
}
}
这就是一个会印出1~5的回圈程序,当然接在 for 後面的括号就是条件,那下面我们再看一下其他条件可以怎麽写:
fun main(){
//用 .. 递增印出 0 到 10
for(i in 0..10){
println(i)
}
//用 until 印出 0 到 9
for(i in 0 until 10){
println(i)
}
//印出 0, 2, 4, 6, 8, 10
for(i in 0..10 step 2){
println(i)
}
//用 downTo 递减印出 10, 8, 6, 4, 2, 0
for(i in 10 downTo 0 step 2){
println(i)
}
}
以上就是 for...in... 的简单范例。
另外你可能会想说,欸!?那我如果不知道他的范围在哪里,怎麽用 for...in... 写呢?
这时候就要用到 while 回圈了!
fun main(){
var x : Int = 0
while (x <= 10){
println(x)
x++ //x加一的意思 也可以写成 x=x+1 或是 x+=1
}
}
回圈的条件设定为 x≤10 的时候会执行大括号里面的程序,直到 x≤10 这个条件不成立就断掉。
那还有另外一种 do-while:
fun main(){
var x : Int = 0
do{ //先执行do里面的程序 1 次,再去判断是否继续回圈
println(x)
x++ //x加一的意思 也可以写成 x=x+1 或是 x+=1
} while (x <= 10)
}
就看使用情境来判断要用哪种 while 了。
简单来说:
while 回圈会以某个条件作为控制条件的重点。
for 回圈会以固定数量的变数作为控制条件的重点。
下一篇见写写打家打家摆掰。
Mircokernel (微核心) 是作业系统核心架构的一种,其设计理念是尽可能的精简作业系统核心的...
HTTP 方法 在预设情况下 Flask 路由的 HTTP 方法只允许 GET 可以透过route(...
前言 这两天主要在研究AR套件及Google maps地图套件的定位和标记功能。AR部分原本我是使用...
今天的主题有两个 一、unity图片分割(Slice Sprite) 目标:把一张素材切成很多小素材...
这个得上一篇:https://ithelp.ithome.com.tw/articles/10258...