黑马程序员技术交流社区

标题: 用for循环打印出实心菱形和空心菱形。 [打印本页]

作者: 嗜血冥命    时间: 2015-8-28 23:22
标题: 用for循环打印出实心菱形和空心菱形。
各位大神们,早期开始学习for循环的时候的几个联系题,打印出菱形倒是OK 。下面就是简单的实例:/*    打印出实心菱形:    *
                       ***
                      *****
                     *******
                      *****
                       ***
                        *

*/


class ForForTest2
{
        public static void main(String[] args)
        {
                for(int x=0;x<4;x++)
                {
                        for(int y=x+1;y<4;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<=x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int m=0;m<x;m++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
               
                for(int a=0;a<4;a++)
                {
                        for(int b=0;b<=a;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int c=a;c<3;c++)
                        {
                                System.out.print("*");
                        }
                        for(int d=a;d<2;d++)
                        {
                                System.out.print("*");
                        }
                        System.out.println(" ");
                }
        }
}


但是后来加大难度,打印空心菱形,我始终没有想明白怎么去写,求指教。
打印出空心菱形:       *
                              * *
                             *   *
                            *     *
                             *   *
                              * *       
                               *



作者: zx0210    时间: 2015-8-28 23:27
其实楼主跟我的想法差不多,只不过我打印出来的是一个大的“X",改动一点就可以变成很多的图形,比如你的菱形,铁丝网,V和W等
作者: 嗜血冥命    时间: 2015-8-28 23:35
zx0210 发表于 2015-8-28 23:27
其实楼主跟我的想法差不多,只不过我打印出来的是一个大的“X",改动一点就可以变成很多的图形,比如你的菱 ...

哎,我等学渣,空心菱形还是弄不出来。实心菱形都是花了一中午才弄出来的。
作者: qiushaocong    时间: 2015-8-28 23:44
我觉得用绝对值,会少几个for循环,!
作者: zx0210    时间: 2015-8-29 02:19
本帖最后由 zx0210 于 2015-8-29 02:20 编辑
嗜血冥命 发表于 2015-8-28 23:35
哎,我等学渣,空心菱形还是弄不出来。实心菱形都是花了一中午才弄出来的。 ...

空心菱形经过我1个小时的推敲,终于出来了!!
实心菱形我用了5个for循环,空心菱形只用了4个for循环!!

作者: Emerson    时间: 2015-8-29 02:37
空心的话。只要搞清楚在哪里才需要输出*号。就完成了。
这种练习题 最好用绝对值。也就是坐标法。利用上下是对称的性质来用绝对值。
一个for循环就完事...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2