黑马程序员技术交流社区

标题: 关于输出镂空三角形的另一种思考方式 [打印本页]

作者: vinoMVP    时间: 2015-7-9 19:55
标题: 关于输出镂空三角形的另一种思考方式
这是我没看毕老师的视频之前写的
/*
需求:输出如下图形。
    *
   * *
  * * *
* * * *
* * * * *
    .
    .
    .
思路和方法:
1,观察图形可以发现,三角阵中只有奇数行的奇数列和偶数行的偶数列才有星,
可以先打印一个镂空的矩形,通过for嵌套循环实现。
2,通过条件判断将多余的星变成“ ”,可以看到以中间列m=(9+1)/2为起点,当列数
y>=m+x 和 y<=m-x时,是没有星的。
*/
class Delta
{
        public static void main(String[] args)
        {
                //求出三角阵的中间列数
                int m = (9+1)/2;
                for(int x=1;x<=5;x++)
                {
                        for(int y=1;y<=9;y++)
                        {
                                //将y>=m+x 和 y<=m-x以内全打印成空格
                                if(y>=m+x || y<=m-x)
                                        System.out.print(' ');
                                //将奇数行中的奇数列打印成*
                                else if(x%2!=0 && y%2!=0)
                                        System.out.print('*');       
                                //将偶数行的偶数列打印成*
                                else if(x%2==0 && y%2==0)
                                        System.out.print('*');
                                else
                                        System.out.print(' ');
                               
                        }
                        System.out.println();
                }
        }
}

看完毕老师的视频之后感觉自己好奇葩。。。






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