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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© godrick007 中级黑马   /  2015-4-14 23:30  /  588 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 godrick007 于 2015-4-14 23:30 编辑

这几天逛论坛无意中看到了个图:


于是我脑洞大开,决定挑战下

分析程序:


将图形分成4个部分,红色 和 蓝色的 空白三角形 和黄色和绿色 *组成的等腰三角形
典型的行列问题,用嵌套循环来解决这个问题。
外循环控制行数,内循环控制列
代码如下:class  DoubleTriangle
{
        public static void main(String[] args)
        {
                printTriangle(8);
        }
        public static void printTriangle(int num)
        {
                for (int i = 0;i < num ; i++ )   //外循环控制行数啊
                {
                        for (int j =0;j<num-i ;j++ ) // 第一个内循环控制红色的空白三角
                        {
                                System.out.print(" ");
                        }
                        for (int k =0;k<i*2+1 ;k++ ) //第二个内循环控制黄色的等腰三角
                        {
                                System.out.print("*");
                        }
                        for(int n = 0;n< num-i-1;n++)  // 第三和第四组成一个倒置的空白直角三角
                        {
                                System.out.print(" ");
                        }
                        for (int m =0 ;m< num-i-1 ;m++ )
                        {
                                System.out.print(" ");
                        }
                        for (int p=0;p<2*i+1 ;p++ ) // 第五与第二同理
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
        }
        public static void printTriangle()     //重载
        {
                printTriangle(4);
        }
       
}
效果图如下:





7 个回复

倒序浏览
:handshake:handshake
回复 使用道具 举报
楼主,你下面这个重载是有什么特殊的意义吗?
回复 使用道具 举报
Dylon 发表于 2015-4-16 19:29
楼主,你下面这个重载是有什么特殊的意义吗?

设置一下,如果没有提供打印的长度,让他默认打印4行
回复 使用道具 举报
可以在主函数中写个不就行了,没必要写个函数重载
回复 使用道具 举报
楼主好厉害呀,我顶
回复 使用道具 举报
匡璐 中级黑马 2015-4-16 22:44:00
7#
虽然我看不懂  但是好厉害的感觉啊
回复 使用道具 举报
挺有意思!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马