for循环输出树木的形状【java】
使用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) - 树干(共5层)
第1层 -- 空格数:4 + 星星数:1
第2层 -- 空格数:4 + 星星数:1
第3层 -- 空格数:4 + 星星数:1
第4层 -- 空格数:4 + 星星数:1
第5层 -- 空格数:4 + 星星数:1 相似于第1层结果,即:
第1层 -- 空格数:4 + 星星数:1
类比树顶第i层结果得出:第1层 -- 空格数:(layer-1)+ 星星数:1 分析:(共layer层树顶)
第1层 -- 空格数:(layer-1)+ 星星数:1
第2层 -- 空格数:(layer-1)+ 星星数:1
第3层 -- 空格数:(layer-1)+ 星星数:1
第4层 -- 空格数:(layer-1)+ 星星数:1
第5层 -- 空格数:(layer-1)+ 星星数:1 */ public class StarTree
{
public static void main(String[] args){
int layer = 5; // 一、树顶
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();
} // 二、树干
for(int i=1;i<=layer;i++){ // 1、获取空格需要显示数量
int spaceNum = layer-1;
for(int j=1;j<=spaceNum;j++){
System.out.print(" ");
}
// 2、获取星星需要显示的数量并换行
System.out.println("*"); }
}
}
代码结果显示:

for循环输出树木的形状【java】的更多相关文章
- for循环输出漏斗的形状【java】
使用for循环语句输出以下“漏斗”效果: +------+ |\..../| | \../ | | \/ | | /\ | | /..\ | |/....\| +------+ 代码:(解决思路详见代 ...
- for循环输出菱形的形状【java】
使用for循环语句输出以下“菱形”效果: * *** ***** ******* ********* ******* ***** *** * 代码 /* * *** ***** ******* *** ...
- for循环输出素数探究【java】
一.判断953是不是为素数(质数). 代码: /** 判断953是不是为素数(质数) 分析: 素数指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数. 假设953是素数,则: ...
- for循环输出空心菱形的形状【java】
使用for循环语句输出以下“空心菱形”效果: * * * * * * * * * * * * * * * * 建议优先参考笔者的另一篇文章:<for循环输出菱形的形状[java]> 代码: ...
- Java多线程:用三个线程控制循环输出10次ABC
转载:http://www.cnblogs.com/gaopeng527/p/5257884.html 题目:有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C,要求, 同时启动三个 ...
- 042 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 04 案例演示while循环的使用——循环输出英文字母
042 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 04 案例演示while循环的使用--循环输出英文字母 本文知识点:案例演示while循环的使用2 ...
- Java使用for循环输出杨辉三角
杨辉三角形由数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方的数字与左上角数值之和.编写程序,使用for循环输出包括10行在内的杨辉三角形. 思路是创建一个整型二 ...
- 关于hasNextInt判断后无限循环输出else项的解决办法
话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...
- 使用for循环输出杨辉三角-还是不懂得需要复习
package com.chongrui.test; /* *使用for循环输出杨辉三角杨辉三角形由数字排列,可以把它看作一个数字表,其基本特征是两侧的数值均为1,其他位置的数值是其正上方的数值与左上 ...
随机推荐
- re正则表达式的使用
1.查找电话号码 #! coding=utf-8import re"""查找字符串中的文本"""txt="your number ...
- widnow 下配置php开发环境
首先下载Php 和 Nginx php 下载链接 nginx 下载链接 下载完成之后 解压到对应目录 (我这里存放在e盘) 解压之后 进入nginx目录 直接双击nginx.exe(一闪而过); 之后 ...
- TopicsExtraction with NMF & LDA
""" ================================================================================= ...
- 基于面向方面和UML的实时系统建模研究
一.基本信息 标题:基于面向方面和UML的实时系统建模研究 时间:2010 出版源:计算机技术与发展 领域分类:面向方向:实时系统:横切关注点:统一建模语言: 二.研究背景 问题定义:实时系统建模研究 ...
- ServiceStack.Redis记录
一.事务 (一)AcquireLock方法 1.说明:申请对一个Key加锁(期间其他对象不能访问). 2.带using的使用,或带过期时间参数,否则锁不会自动释放. using (RedisCache ...
- #254 Check for Palindromes
Check for Palindromes 检查回文字符串 如果给定的字符串是回文,返回true,反之,返回false. 如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符 ...
- day21_雷神_django第四天
django第四天 1.form组件 解决两个事情: 不想重复提交,数据重置: 校验规则 流程: (1) 创建form组件对应的类,比如LoginForm (2) views.login: if ge ...
- Docker基础知识介绍
本节内容 1. Docker概述 2. Docker的安装 3. Docker基本使用 4. Docker相关命令汇总 5. Docker概念理解 一 Docker概述 Docker是什么 ...
- Email发展历史
据我所知:1987年9月20日,有“中国互联网第一人”之称的钱天白从北京经意大利向前联邦德国卡尔斯鲁厄大学发出了中国第一封电子邮件,内容是“ 穿越长城,走向世界”.这是中国人在网络上的第一步,他开创了 ...
- buildbot环境搭建—master篇
好久没写博客来,最近没有深入研究东西,所以写不出什么特别有技术含量的东西,但是,每周出产博客的习惯不能荒废掉,所以就写一下,这个星期学习的简单到东西. 关于buildbot,它是基于python的一个 ...