使用for循环语句输出以下“菱形”效果:

    *
***
*****
*******
*********
*******
*****
***
*

代码  

 /*
*
***
*****
*******
*********
*******
*****
***
* 分析:
- 上层(共5层)
每层构成:每层每层空格数+每层星星数
第1层 -- 空格数:4 + 星星数:1
第2层 -- 空格数:3 + 星星数:3
第3层 -- 空格数:2 + 星星数:5
第4层 -- 空格数:1 + 星星数:7
第5层 -- 空格数:0 + 星星数:9 分析:
第1层 -- 空格数:4(= 5-1) + 星星数:1(= 2*1-1)
第2层 -- 空格数:3(= 5-2) + 星星数:3(= 2*2-1)
第3层 -- 空格数:2(= 5-3) + 星星数:5(= 2*3-1)
第4层 -- 空格数:1(= 5-4) + 星星数:7(= 2*4-1)
第5层 -- 空格数:0(= 5-5) + 星星数:9(= 2*5-1) 推理:(上层共 layer 层)
第i层 -- (空格数 = layer-i) + (星星数 = 2*i-1) - 下层(下层共 layer-1 层)
第1层 -- 空格数:1 + 星星数:7
第2层 -- 空格数:2 + 星星数:5
第3层 -- 空格数:3 + 星星数:3
第4层 -- 空格数:4 + 星星数:1 分析:效果等效(共4层)
下层的第1层对应上层的第4层 -- 空格数:1 + 星星数:7
下层的第2层对应上层的第3层 -- 空格数:2 + 星星数:5
下层的第3层对应上层的第2层 -- 空格数:3 + 星星数:3
下层的第4层对应上层的第1层 -- 空格数:4 + 星星数:1 推理:
第i层 -- (空格数 = i) + (星星数 = 2*(layer-i)-1)
*/ public class StarTree
{
public static void main(String[] args){
int layer = 5; // 一、上层(显示 layer 行)
for(int i=1;i<=layer;i++){ // 1、获取空格需要显示数量
int spaceNum = layer-i;
for(int j=1;j<=spaceNum;j++){ // 需要打印空格的数量
System.out.print(" ");
} // 2、获取星星需要显示的数量
int starNum = 2*i-1;
for(int j=1;j<=starNum;j++){ // 需要打印星星的数量
System.out.print("*");
}
// 3、换行
System.out.println();
} // 二、下层(显示 layer-1 行)
for(int i=1;i<layer;i++){ // 1、获取空格需要显示数量
int spaceNum = i;
for(int j=1;j<=spaceNum;j++){
System.out.print(" ");
}
// 2、获取星星需要显示的数量
int starNum = 2*(layer-i)-1;
for(int j=1;j<=starNum;j++){
System.out.print("*");
}
// 3、换行
System.out.println(); }
}
}

代码结果显示:

for循环输出菱形的形状【java】的更多相关文章

  1. JavaScript学习笔记-循环输出菱形,并可菱形自定义大小

    var Cen = 6;//定义菱形中部为第几行(起始值为0) //for循环输出菱形 document.write("<button onclick='xh()'>点我for循 ...

  2. for循环输出漏斗的形状【java】

    使用for循环语句输出以下“漏斗”效果: +------+ |\..../| | \../ | | \/ | | /\ | | /..\ | |/....\| +------+ 代码:(解决思路详见代 ...

  3. for循环输出树木的形状【java】

    使用for循环语句输出以下“树木”效果: * *** ***** ******* ********* * * * * * 代码: /* * *** ***** ******* ********* * ...

  4. Java使用for循环输出菱形

    /** * This program would print out a diamond * @param row the row of diamond * @version 2018-7-23 * ...

  5. 用JAVA 的for循环输出 菱形

    public class For{ public static void main(String[] args){ //首先.把菱形看成上下两部分,上五下四,所以,第一个for循环有5次,第二个for ...

  6. for循环输出素数探究【java】

    一.判断953是不是为素数(质数). 代码: /** 判断953是不是为素数(质数) 分析: 素数指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数. 假设953是素数,则: ...

  7. for循环输出菱形

    package com.hanqi; public class lingxing { public static void main(String[] args) { for(int m=1;m< ...

  8. for循环输出空心菱形的形状【java】

    使用for循环语句输出以下“空心菱形”效果: * * * * * * * * * * * * * * * * 建议优先参考笔者的另一篇文章:<for循环输出菱形的形状[java]> 代码: ...

  9. Javascript-循环输出菱形,并可菱形自定义大小

    var Cen = 6;//定义菱形中部为第几行(起始值为0) //for循环输出菱形 document.write("<button onclick='xh()'>点我for循 ...

随机推荐

  1. https多网站1个IP多个SSL证书的Apache设置办法

    这些天接触了解SSL证书后,写了一篇<申请免费的SSL证书,开通https网站>博文,其中简单记录了Apache的设置,后来又涉及到多个域名.泛域名解析.通配符SSL证书.单服务器/多服务 ...

  2. window下github的学习心得

    准备工作: 安装git: 1.下载地址:http://msysgit.github.io/ 2.安装:本人是一路next的,现在没发现有什么问题.详细的安装过程参考:https://jingyan.b ...

  3. Redis的启动及配置

    在redis已经安装完成的情况下,进入redis/bin目录下,输入命令: ./redis-server,就可以直接启动redis了,效果如图所示: 但是此时终端无法进行任何操作,按CTRL+c命令, ...

  4. Dev gridcontrol 添加多列按钮

    gridcontrol中添加按钮的步骤: 1. 把列的ColumnEdit属性设置为RepositoryItemButtonEdit 2. 把TextEditStyle属性设置为HideTextEdi ...

  5. oracle执行计划走偏处理步骤

    -- sql执行时间select a.EXECUTIONS,a.ELAPSED_TIME,a.ELAPSED_TIME/a.EXECUTIONS/1000/1000 as 秒,a.SQL_ID,a.H ...

  6. azure cosmos db (mongo DB)

    使用.net mongo的操作类操作azure(微软云)cosmosdb时,发现在做delete的操作的时候可以传一个文档对象,但是最后这个文档会解析成具体的sql语句,而当文档特别大时这样就出先了转 ...

  7. maven + eclipse + tomcat热部署 引自:http://jingpin.jikexueyuan.com/article/23068.html

    方案二: 1.修改tomcat的server.xml配置文件,在host结点下添加如下代码 Xml代码   <Context docBase="F:\eclipse_workspace ...

  8. JAVA:简单添加菜单界面(swing)

    package com.le.menu; import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; i ...

  9. C#中数组、ArrayList和List三者的区别 转

    在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. ...

  10. Vue route部分简单高级用法

    一改变页面title的值   在开发时常常需要在切换到不同页面时改变浏览器的title值,那么我们就可以在定义路由的时候通过配置 meta 属性 来改变title值. import Vue from ...