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

Posted on 2022-01-05 20:33  ***Pepsi***  阅读(34)  评论(0编辑  收藏  举报

方法一:

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

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)
    }

结果如下:

 

Copyright © 2024 ***Pepsi***
Powered by .NET 8.0 on Kubernetes