运用Java打印金字塔

 1 public class exercise05{
 2     public static void main(String[] args){
 3 // 思路分析
 4 // 化繁为简
 5 // 1.打印一个矩形
 6 // *****
 7 // *****
 8 // *****
 9 // *****
10 // *****
11 // 2.打印半个金字塔
12 // *        //第一层有1个*
13 // **        //第2层有2个*
14 // ***        //第3层有3个*
15 // ****        //第4层有4个*
16 // *****    //第5层有5个*
17 // 3.打印整个金字塔
18 //     *            //第一层有1个*    2*层数-1        2*1-1    有4=(总层数-1)个空格
19 //    ***        //第2层有3个*    2*层数-1        2*2-1    有3=(总层数-2)个空格    
20 //   *****        //第3层有5个*    2*层数-1        2*3-1    有2=(总层数-3)个空格
21 //  *******        //第4层有7个*    2*层数-1        2*4-1    有1=(总层数-4)个空格
22 // *********    //第5层有9个*    2*层数-1        2*5-1    有0=(总层数-5)个空格
23 // 4.打印空心的金子塔
24 //     *        //第一层有1个*    当前行的第一个位置是*,最后一个位置也是*
25 //    * *        //第2层有2个*    当前行的第一个位置是*,最后一个位置也是*
26 //   *   *        //第3层有2个*    当前行的第一个位置是*,最后一个位置也是*
27 //  *     *        //第4层有2个*    当前行的第一个位置是*,最后一个位置也是*
28 // *********    //第5层有9个*    全部输出*
29 
30 
31 // 先死后活
32 // 5层数作为变量 int totalLevel = 5;
33 
34 
35 
36 
37 
38     int totalLevel = 5;
39     for(int i;i<=totalLevel;i++){//    i表示层数
40         //在输入*之前,还要输出  对应空格 = 总层数-当前层
41         for(int k =1;k<=totalLevel;k++){
42             System.out.println(" ");
43             }
44         //控制打印每层的*个数
45         for(int j=1;j<=2 * i - 1;j++){
46             if(j == 1 || j == 2 || i == 5=totalLevel){
47                 System.out.println("*");
48         }else{//其他情况输出空格
49             System.out.println(" ");
50         }
51     }
52     //每打印完一层的*后,就换行 println本身会换行,ln就是换行
53     System.out.println(" ");
54 }
55 
56 }
57 
58 }

 

posted @ 2024-07-22 08:43  勤奋的小番茄  阅读(11)  评论(0编辑  收藏  举报