空心金字塔案例讲解:
*
* *
* *
* *
*******
首先要输出一个矩形*我这里设置为5行
for(int x = 1; x <= 5; x++){//代表层数
System.out.print("******")
}
然后输出金字塔实心
for(int x =1; x <= 5; x++){//代表层数
//输出*之前,还要输出 对应空格 = 总层数-当前层数
for(int k = 1; k <= 5 - x; k++){//控制每行的空格使其达到金字塔的外形
System.out.print(" ");
}
for(int y = 1; y <= 5; y++){//代表每行*的数量
System.out.println("*");
}
System.out.println();
}
最后输出空心金字塔
int totalLevel = 9;//定义变量控制层数
for(int x = 1; x <= totalLevel; x++){//x代表层数
//输出*之前,还要输出 对应空格 = 总层数-当前层数
for(int k = 1; k <= totalLevel - x; k++){//控制每行的空格使其达到金字塔的外形
System.out.print(" ");
}
for(int y = 1; y <= 2 * x -1; y++){//控制每层的*数量
//当前行的第一个位置是*,最后一个位置也是*,最后一层全部是*
if(y == 1 || y == 2 * x - 1 || x == totalLevel){
System.out.print("*");
}else { //其他情况输出空格
System.out.print(" ");
}
}
System.out.println("");//每打印一层就换行
}
break语句控制流程执行图: