A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© darkpiece 中级黑马   /  2014-1-21 16:52  /  1120 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 darkpiece 于 2014-1-21 21:06 编辑

public class Demo3

{
        public static void main(String []args)
        {
                //死去活来->打四层
                int lay=7;
                //表示有多少层
                for(int i=1;i<=lay;i++)
                {   
                        //找出空格规律
                        //1->3 2->2 3->1 4->0
                        for(int k=1;k<=lay;k++)
                        {
                                System.out.print(" ");
                        }
                        //打印*
                        //1->1 2->3 3->5 4->7
                        for(int j=1;j<=(i-1)*2+1;j++){
                                //判断该层是否是顶层或者是底层
                                if(i==1||i==lay){
                                System.out.print("*");
                                }
                                else
                                {
                                        //如果是第一个*
                                        if(j==1||j==(i-1)*2+1)
                                        {
                                                System.out.print("*");
                                        }
                                                else{
                                                        System.out.print(" ");
                                                }
                                }
                        }
                        //打出一个换行
                        System.out.println();
                }
        }
}

5 个回复

倒序浏览
要求打印金子塔,编译不过去
回复 使用道具 举报
不断学习中。。。
回复 使用道具 举报
  1. public class Pyramid {
  2.         public static void main(String[] args) {
  3.                 int lay = 7;
  4.                 printPyramid(lay);
  5.         }

  6.         private static void printPyramid(int lay) {
  7.                 for (int i = 1; i <= lay; i++) {
  8.                         for (int j = 1; j <= lay-i; j++) {
  9.                                 System.out.print(" ");
  10.                         }
  11.                        
  12.                         for (int k = 1; k <= i*2-1; k++) {
  13.                                 System.out.print("*");
  14.                         }
  15.                         System.out.println();
  16.                 }
  17.         }
  18. }
复制代码

经过测试了,你试试!
回复 使用道具 举报
明白了~
回复 使用道具 举报

                                if(i==1||i==lay-1){}
少打了一个-1 发现了
                                
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马