Scala趣味题之空心菱形
程序员文章站
2024-03-12 20:06:08
...
效果图为
实现思路:
菱形可以看做由一正一倒三角形拼接而成,所以先写出倒三角形
倒三角形实现代码
def main(args: Array[String]): Unit = {
//外循环决定行,内循环决定列 共3行 固 i为 1-3
for (i <- 1 to 3){
//空白符从 0 到 3 固 to i
for (j <- 1 to i){
print(" ")
}
// * 打印数量为 总行数-i *2 -1个
for (k <- 1 to (4-i)*2-1){
print("*")
}
for (l <- 1 to i){
print(" ")
}
println()
}
}
开始拼接实现代码
def main(args: Array[String]): Unit = {
//外循环决定行,内循环决定列 共6行 固 i为 1-4
for (i <- 1 to 6){
//如果是前三行 写出正三角形
if (i<=3){
for (j <- 1 to 3-i){
print(" ")
}
for (k <- 1 to i*2-1){
//同样 如果靠边那么就打印 *
if (k ==1 || k==i*2-1){
print("*")
}else{
print(" ")
}
}
for (l <- 1 to 3-i){
print(" ")
}
//如果后三行打印倒三角形
}else{
for (q <- 1 to i-4){
print(" ")
}
// 根据刚才找到的规律 * 打印数量为 总行数-i *2 -1个
for (w <- 1 to (7-i)*2-1){
//同理 如果靠边 则打印*
if (w==1 || w==(7-i)*2-1){
print("*")
}else{
print(" ")
}
}
for (e <- 1 to i-4){
print(" ")
}
}
println()
}
}