阿萌的程序小屋

萌物控重度患者与您一起畅游技术与梦想的世界

JAVA自学笔记:自适应输出一个底边为奇数个“*”的等腰三角形

实例之输出底边为基数个“*”号的等腰三角型,本文来用两种方式输出这样的图形,一种是傻瓜式的输出,另一种是自适应输出。

第一种:依葫芦画瓢,直接定义输出,例如输出底边位7个“*”的等腰三角形。

public class Test002 {
    public static void main(String args[]){
        System.out.println("   *");
        System.out.println("  ***");
        System.out.println(" *****");
        System.out.println("*******");
    }
}

就如图所示一样,空格自己加,在输出的时候就相当于定义好了样式,傻瓜式的固定输出。

第二种:自适应循环输出

public class Test003 {
    public static void main(String args[]){
        int underSide=7,times=underSide/2+1;
        for(int i=1;i<=times;i++){
            for(int a=times-i;a>0;a--){
                System.out.print(" ");
            }
            for(int b=0;b<i*2-1;b++){
                System.out.print("*");
            }
            System.out.println("");
        }
    }
}

也是利用嵌套循环。

其实分析一下两三个奇数底边等腰三角形的例子,可以看出,输出行数总是“底边边长/2+1”,这也确定了外层循环的次数。

然后分析每一行,可看出:
先输出空格,每一行的空格数等于外层循环总次数减去行数;
后输出“*”号,每一行的“*”号数相当于当前行数的2倍再减1;

1

例如底边为7的等边三角形,循环次数为4,第一行的空格数是3,即4-1,第三行的空格数位1,即4-3。再看看“*”号,第一行的“*”号数为1,即1*2-1,第三行的“*”号数为5,即3*2-1.

如有朋友感觉我的博文或代码有问题,愿能给予我宝贵的意见!Thanks

另注:转载请随意,但请带上本文地址,万分感谢。

http://www.wangmengyu.cn/?p=657

这就是真的真的是传说中的公告牌的说~~
暂且努力发展中~~

性别:男  年龄:20岁
现居:江苏  南京  浦口区
标语:萌即是一切