寒假学习5-打印9层星星


方法一:

从后往前计算出每层的星星数量与空格打印的数量

for (i <- 1 to 9){
      val stars = 2*i-1
      val spaces = 9-i
      println(" "*spaces+"*"*stars)
    }

方法二:引入变量

代码段更少

for (i <- 1 to 9 ; stars = 2*i-1 ; spaces = 9-i){
      println(" "*spaces+"*"*stars)
    }

也可以写作:

for {
      i <- 1 to 9
      stars = 2*i-1
      spaces = 9-i
    }
    {
      println(" "*spaces+"*"*stars)
    }

方法三:

去掉i,只计算星星数量并且推导出应打印空格数量

for (stars <- 1 to 17 by 2 ; spaces = (17-stars)/2){
      println(" "*spaces+"*"*stars)
    }

结果如下: