使用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】的更多相关文章

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

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

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

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

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

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

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

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

  5. Java多线程:用三个线程控制循环输出10次ABC

    转载:http://www.cnblogs.com/gaopeng527/p/5257884.html 题目:有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C,要求, 同时启动三个 ...

  6. 042 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 04 案例演示while循环的使用——循环输出英文字母

    042 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 04 案例演示while循环的使用--循环输出英文字母 本文知识点:案例演示while循环的使用2 ...

  7. Java使用for循环输出杨辉三角

    杨辉三角形由数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方的数字与左上角数值之和.编写程序,使用for循环输出包括10行在内的杨辉三角形. 思路是创建一个整型二 ...

  8. 关于hasNextInt判断后无限循环输出else项的解决办法

    话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...

  9. 使用for循环输出杨辉三角-还是不懂得需要复习

    package com.chongrui.test; /* *使用for循环输出杨辉三角杨辉三角形由数字排列,可以把它看作一个数字表,其基本特征是两侧的数值均为1,其他位置的数值是其正上方的数值与左上 ...

随机推荐

  1. 构造 this super

    构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法.当 ...

  2. javascript之原型链

    JavaScript 中,万物皆对象!(对于编程而言,可以说万物皆对象.) js中的原型链的作用时什么呢? 我自己的理解是,给一个人赋予一些技能, function people(name,age,s ...

  3. P3047 [USACO12FEB]附近的牛Nearby Cows

    https://www.luogu.org/problemnew/show/P304 1 #include <bits/stdc++.h> 2 #define up(i,l,r) for( ...

  4. Java中十六进制转换 Integer.toHexString()

    为了显示一个byte型的单字节十六进制(两位十六进制表示)的编码,请使用: Integer.toHexString((byteVar & 0x000000FF) | 0xFFFFFF00).s ...

  5. 在windows上传一个新的项目到GitHub上

    不多说,直接上步骤 1,新建GitHub的账号密码. 2,新建一个项目  点击new repository 3,选择自己项目,填写格式 点击创建  create  repository,这时候一个雏形 ...

  6. Docker优势以及与传统虚拟机对比(1)

    docker优势 1.更快速地交付和部署: 2.更高的虚拟化(不需要额外的hypervisor支持,是内核级的虚拟化,实现更高的性能呢和效率): 3.更轻松的迁移和扩展: 4.更简单的管理  与传统的 ...

  7. OpenXml修改word特定内容

    采用OpenXml来修改word特定内容,如下: word: OpenXml修改word之前: OpenXml修改word之后: 代码: string path = @"C:\Users\A ...

  8. lightoj 1074

    这题怎么说呢,负环上的点都不行 网上也有很多解法 我用dfs的spfa解的 我发现网上别人的代码都是用bfs的spfa写的,我就用的dfs的,快了好多 代码还看的别人的,只有中间的spfa是自己写的 ...

  9. Python成绩雷达图

    代码 import numpy as np import matplotlib import matplotlib.pyplot as plt matplotlib.rcParams['font.fa ...

  10. c#项目减少源代码大小

    这次的代码缩减主要通过了这几个方面 1.bin和obj文件的删除(以前真的不知道,只是通过右键属性发现这些文件太大,然后上网搜索才知道,这些文件在源代码备份的时候是建议删掉的) 删掉的好处: 1.减少 ...