java实现空心三角形

一、先上要实现的效果图: 大概这样的效果

二、分析思路:

## 1.如果刚开始看到这个需求没有思路,可以先实现非空心三角形,如下效果:

在这里插入图片描述
##2.如果还是没有思路,可以再对需求进行扩充分析,实现半个非空心三角形,如下效果:
在这里插入图片描述
以红框框住的*为中心对照整个的非空三角形实现的半个三角形效果就是这样子的了。

三、实际分析:

 ## 1.首先我们要知道实现该效果肯定不是说一行一行敲出来的*,否则要是实现100层的效果,就呵呵了;
 ## 2.通过效果图也能知道从上到下每一层展示的 【*】数量 不同,而且要考虑到这个层数可能会发生改变。有可能是3层,5层,10层。。。
 ## 3.那就针对可能的不同层数,通过for循环进行实现;

四、 以图中4层为参考分析,先将层数写死,将半个非空三角形的需求实现出来:

 ##分析第1层:1个 *
 ## 第2层:2个*
 ## 第3层:3个*
 ## 第4层:4个*
 可以发现,**每一层的层数既可以代表该层的*数,也就是说每一层的 * 的个数==该层所在层数:**
for(int i=1;i<=4;i++){
    //我们把 i 代表对应的层数:
    // 每层的*数展示: 【j<=i】: 每层*个数 <=该层
	for(int j=1;j<=i;j++){
     //j 代表每层的*个数
	 System.out.print("*");
	}
	//将每层*数展示后换行继续下一行
	System.out.println();
}
## 以上代码就实现了我们需要的半个非空三角形。

五、再实现非空的整个三角形:

   ## 分析第1层: 1个*   
   ## 第2层:3个*          
   ## 第3层:5个*         
   ## 第4层:7个*         
   找找看每一层的层数和该层的*数之间的关系, 以半个三角形为基础,
   ## 对比分析*数:
  1层 ----》多了0个 ;
  2层-----》多了1个;
  3层-----》多了2个;
  4层-----》多了3个;
  ## 是不是**在半个三角形的基础上,每层多的*数 是该层 -1**。
  **再回头看之前的代码,关于每层的*数和层的关系是 j<=i,那么现在的关系就是j<=i+i-1,即j<=2xi-1;**
for(
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值