hsp Java笔记
class MultipleExercise05{
public static void main(String[] args){
//打印空心金字塔老师讲解
/*
化繁为简:
1. 先打印矩形
*****
*****
*****
*****
*****
2. 打印半个金字塔
* 第1层,有1个*
** 第2层,有2个*
*** 第3层,有3个*
**** 第4层,有4个*
***** 第5层,有5个*
第i层,有i个*
3. 打印整个金字塔
* 第1层,有1个*,有4个空格
*** 第2层,有3个*,有3个空格
***** 第3层,有5个*,有2个空格
******* 第4层,有7个*,有1个空格
********* 第5层,有9个*,有0个空格
第i层,有2i-1个*,有5-i个空格
4. 镂空整个金字塔
* 第1层,有1个*,输出当前行第一个位置(j = 1)和最后一个位置(j = 2 * i - 1)的*
* * 第2层,有2个*,输出当前行第一个位置和最后一个位置的*
* * 第3层,有2个*,输出当前行第一个位置和最后一个位置的*
* * 第4层,有2个*,输出当前行第一个位置和最后一个位置的*
********* 第5层,有9个*,输出全部*
5. 先死后活
*/
int totalLevel = 10;
for(int i = 1; i <= totalLevel; i++){// i表示层数,共5层
//在打印*之前先输出空格
for(int k = 1; k <= totalLevel - i; k++){
System.out.print(" ");
}
//控制打印每层的*个数
for(int j = 1; j <= 2 * i - 1; j++){
//输出当前行第一个位置和最后一个位置的*,最后一层全部输出
if(j == 1 || j == 2 * i - 1 || i == totalLevel){
System.out.print("*");
}else{//其他情况输出空格
System.out.print(" ");
}
}
System.out.println("");//println本身就会换行
}
}
}