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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 龚建锋 初级黑马   /  2012-7-22 23:48  /  2300 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] args)  {
/*
打印金字塔
*/
  int m = 4;
  for (int i = 0; i < m; i++) {
   // 空格输出
   for (int j = 0; j < m - i - 1; j++) {
    System.out.print(" ");
   }
   // 星号输出
   
   for (int k = 0; k < i * 2 + 1; k++) {
    System.out.print("*");
   }
   System.out.println();
/*
想找规律打印一个倒的金字塔,从而与上面的正的金字塔形成一个菱形,但打印结果如图1:
*/
   for (int a = m - 1; a >= 1; a--) {
       for (int j = 1; j <= m - a; j++) {
        System.out.print(" ");
       }
       for (int k = 2 * a - 1; k > 0; k--) {
        System.out.print("*");
       }
       System.out.println();
  }
}
}
//求帮助求解决??

图1.jpg (17.35 KB, 下载次数: 178)

图1.jpg

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
问题找到了,就是for()循环的范围弄错了,最上上面的那个for本来应该中间结束的,结果到最后才结束。改下大括号就可以了:
package cn.itcast.day1;

public class demo {
        public static void main(String[] args)  {
                /*
                打印金字塔
                */
                  int m = 4;
                  for (int i = 0; i < m; i++) {                //注意此处的for管到了最后,有四次,所以会出现4个类菱形的图案
                   // 空格输出
                   for (int j = 0; j < m - i - 1; j++) {
                    System.out.print(" ");
                   }
                   // 星号输出
                  
                   for (int k = 0; k < i * 2 + 1; k++) {
                    System.out.print("*");
                   }
                   System.out.println();
                 }//注意此处的大括号,写到下面去了
                /*
                想找规律打印一个倒的金字塔,从而与上面的正的金字塔形成一个菱形,但打印结果如图1:// 最上面一个for管的太远了,到这里都没有结束
                */
                   for (int a = m - 1; a >= 1; a--) {
                       for (int j = 1; j <= m - a; j++) {
                        System.out.print(" ");
                       }
                       for (int k = 2 * a - 1; k > 0; k--) {
                        System.out.print("*");
                       }
                       System.out.println();
                  }
                //}这里的括号要移到上面
                }
}
http://bbs.itheima.com/forum.php?mod=attachment&aid=NDg5Nnw2M2M0M2UxNDRlYzUyMjQ4MDAwMWE1N2EwODU0ZTI2N3wxNzM0OTQzMzk2&request=yes&_f=.jpg

1431249r670srrxxryzeyu.jpg (313.35 KB, 下载次数: 207)

1431249r670srrxxryzeyu.jpg

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
嘎,我错了,点错了,上传错图片了。。
http://bbs.itheima.com/forum.php?mod=attachment&aid=NDg5N3w4NDgwY2FiMDVkOGJjMDEyOWQzYjc2ZDc3YmUwYmVkN3wxNzM0OTQzMzk2&request=yes&_f=.png

QQ截图20120723031245.png (2.45 KB, 下载次数: 220)

right

right
回复 使用道具 举报
public static void main(String[] args)  {
/*
打印金字塔
*/
   int m = 4;
   for (int i = 0; i < m; i++)
        {
    // 空格输出
    for (int j = i; j < m/2 +2; j++)
    {
     System.out.print(" ");
    }
    // 星号输出
   
    for (int k = 0; k < i; k++)
        {
     System.out.print("* ");
    }
    System.out.println();
        }
/*
想找规律打印一个倒的金字塔,从而与上面的正的金字塔形成一个菱形,但打印结果如图1:
*/
    for (int a = 0; a <m; a++)
                {
        for (int j = 0; j < a; j++)
                {
         System.out.print(" ");
        }
        for (int k = a; k < m; k++)
                {
         System.out.print("* ");
        }
        System.out.println();
       }

}
//for循环的括号弄错了奥,将菱形看成两个三角形不就oK了吗,完了再仔细的分析一下里边的表达式
回复 使用道具 举报
呵呵~~还是不细心的问题啊,谢谢各位了~~运行正常了~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马