JAVA语言之打印图形实例——打印三角形
小标 2018-11-05 来源 : 阅读 928 评论 0

摘要:本文主要向大家介绍了JAVA语言之打印图形实例——打印三角形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言之打印图形实例——打印三角形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。


首先,确定我们的输出结果是:



那么我们怎么才能做到这样呢?首先分析图形的结构。我们可以看到,图形共5行,那么,我们是否可以建立一个for循环语句,使其控制在5行?答案是肯定的。


for(int i = 1 ;i <= 5 ;i++ ){

 

}

   


这样,我们就建立了一个循环5次的for循环代码块,为最外圈的循环。然后,分析图形是怎样构成的,我们可以把图形拆分为以下几部分:



我们可以把图形拆分为这样三个三角形。然后来建立1号空白三角形。可以看,第一行是输出4个空格,第二行输出3个空格,第三行输出2个,第四行输出1个,第五行没有。从这个规律可以看出,是依次递减的规律,那么如何实现呢?


我们可以想象从1到5,中间有四个数字;从2到5中间有3个数字,从3到5……。是不是可以利用这个原理呢?答案是当然的。那么如何实现?请看代码:


  

for(int i = 1;i<=5 ;i++) {

 for(int j = 5; j >= i ; j--)//建立1号图形

  System.out.print(" ");

 System.out.println();

}

   


第一个for语句就是刚才定义的五次循环语句。第二个for循环,我们来进行解析下。首先 定义一个int类型的j变量,给j赋值为5。然后我们想,既然要缩短距离,那么每次循环j就-1,那么刚好符合我们的要求,第一次大循环 i=1,j=5, 所以符合j>=i的条件然后输出一个空格,然后j-1,现在j的值为4符合j>=i,再输出。。。。。


一直到j=0,j>=i不符合,跳出内循环。现在到System.out.println(); 换行。现在回到外循环 i++ ,i变成2,符合i<=5,进入内循环。定义j=5 , j>=i,符合,输出一个空格,j-1。j现在为4 ,j>=i,符合,输出一个空额,j-1。。。。。。


一直到j=1,j>=i,不成立,跳出内训还,然后换行。然后i+1 然后再进入内循环……。如此循环下去 形成了一个四行的倒三角,1号图案形成。然后就来建立2号图形,和1号图形原理完全相同,不过正好相反:

   

for(int i = 1 ;i<=5 ;i++){

 for(int j = 5; j >= i ; j--)//建立1号图形

  System.out.print(" ");

 for(int j = 1; j <= i; j++)//建立2号图形

  System.out.print("*");

 System.out.println();

}

   


如建立1号图形相同,大家可以自己理解,如此2号建立。再来建立3号图形:


for(int i = 1; i <= 5; i++){

 for(int j = 5 ;i <= j; j--)//建立1号图形

  System.out.print(" ");

 for(int j = 1; j <= i; j++)//建立2号图形

  System.out.print("*");

 for(int j = 1; j < i; j ++)//建立3号图形

  System.out.print("*");

 

}

   


同样,如同1号二号相同,建立3号图形原理相同。但是大家注意一点,3号图形没有在第一行输出,所以要在第一次大循环中掐断它,让它在第二次大循环中输出,所以 这次的判断条件为 j < i 去掉了等于:


class Demo{

    public static void main(String[] args){

        for(int i=1;i<=5;i++){

            for(int j=5; i<=j; j--)

                System.out.print(" ");

            for(int j=1; j<=i; j++)

                System.out.print("*");

            for(int j=1; j<i; j++)

                System.out.print("*");

            System.out.println();

        }

    }

}

   


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 1
看完这篇文章有何感觉?已经有2人表态,50%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程