ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

金字塔和空心金字塔

2022-02-09 16:34:19  阅读:160  来源: 互联网

标签:totalLevel 每行 level int 空心 金字塔 public


 1 //接收一个整数,表示层数(totallevel),打印出金字塔和一个空心金字塔,用for
 2 //化繁为简
 3 //(1)先打一个矩形来分析
 4 /*(2)将每一层比下面缺少的用空格代替,每行个数是2 * level - 1,
 5 每层前面要打的的空格数为totalLevel - level*/
 6 
 7 public class test{
 8     public static void main(String[] args){
 9         int totalLevel = 8,level = 1  ;//每行个数
10     for (int lineNum;level <= totalLevel;level++){
11         /*如果在主方法全局定义或者在for循环括号里定义这个lineNum,并赋值2 * level - 1时,
12         在编译时直接解释为常量导致lineNum无法随level变化而变化,所以每次进入下一层都要赋一次值*/
13         lineNum = 2 * level - 1;
14         System.out.print("\n");
15          //一层打完,进入下一层
16 
17 
18         //输出某一层
19         //先打空格
20         for (int z = 1;z <= totalLevel - level;z++ )
21             System.out.print(" ");
22         //金字塔部分
23         for (int j = 1;j <= lineNum;j++)
24             System.out.print("*");
25         }
26 
27         System.out.println("\n\n\n");
28         
29 
30 //空心金字塔
31 /*参考金字塔思路,空心金字塔其实就是每层打完前面的空格后,除了第一个还有第lineNum个,
32 其他都是空格就可以了,底座那一层最后单独输出*/
33 
34 //先重置level
35 level = 1;
36 for (int lineNum;level <= totalLevel-1;level++){
37         /*如果在主方法全局定义或者在for循环括号里定义这个lineNum,并赋值2 * level - 1时,
38         在编译时直接解释为常量导致lineNum无法随level变化而变化,所以每次进入下一层都要赋一次值*/
39         lineNum = 2 * level - 1;
40         System.out.print("\n");
41          //一层打完,进入下一层
42 
43 
44         //输出某一层
45         //先打空格
46         for (int z = 1;z <= totalLevel - level;z++ )
47             System.out.print(" ");
48         //金字塔部分
49         for (int j = 1;j <= lineNum ;j++){
50             if (j == 1||j == lineNum)
51             System.out.print("*");
52         else System.out.print(" ");
53             }
54         }    
55 
56         //bottom
57                 System.out.print("\n");
58                 for (int sign = 1;sign <= 2 * level - 1;sign++)
59                 System.out.print("*");
60     }
61 }

 

标签:totalLevel,每行,level,int,空心,金字塔,public
来源: https://www.cnblogs.com/codemelo/p/15875622.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有