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

+------+
|\..../|
| \../ |
| \/ |
| /\ |
| /..\ |
|/....\|
+------+

代码:(解决思路详见代码头部多行注释)

  本例代码中使用了常量 HEIGHT,是指漏斗内部高度值的一半作为常量值。

/*
* +------+ HEIGHT:3
* |\..../| 第一行:空格数:0 点数:4 空格数:0
* | \../ | 第二行:空格数:1 点数:2 空格数:1
* | \/ | 第三行:空格数:2 点数:0 空格数:2
* | /\ |
* | /..\ |
* |/....\|
* +------+
*
* +--------+ HEIGHT:4
* |\....../| 第一行:空格数:0 点数:6 空格数:0
* | \..../ | 第二行:空格数:1 点数:4 空格数:1
* | \../ | 第三行:空格数:2 点数:2 空格数:2
* | \/ | 第四行:空格数:3 点数:0 空格数:3
* | /\ |
* | /..\ |
* | /....\ |
* |/......\|
* +--------+
*
* 分析:
* 1、将图形分成三个部分:
* - 最上层和最下层的图形;
* - 漏斗上部分
* - 漏斗下部分
* 2、取漏斗的上部分为一个定值HEIGHT
* - 最上层和最下层的图形:
* "-"数量为:2*HEIGHT
* - 漏斗上部分
* 第n行:空格数:line-1 点数:2*(HEIGHT-line) 空格数:line-1
* - 漏斗下部分
* 第n行:空格数:HEIGHT-line 点数:2*(line-1) 空格数:HEIGHT-line
*
*
*/ public class Test {
public static final int HEIGHT = 3; public static void main(String[] args) {
drawLine();
drawTop();
drawBottom();
drawLine();
} public static void drawTop() { for(int line=1;line<=HEIGHT;line++) {
System.out.print("|"); //输出右边的空格“ ”
for(int i=1;i<=(line-1);i++) {
System.out.print(" ");
} System.out.print("\\"); //输出点“.”
for(int i=1;i<=2*(HEIGHT-line);i++) {
System.out.print(".");
} System.out.print("/"); //输出右边的空格“ ”
for(int i=1;i<=line-1;i++) {
System.out.print(" ");
} System.out.println("|");
} } public static void drawBottom() { for(int line=HEIGHT;line>0;line--) {
System.out.print("|"); //输出右边的空格“ ”
for(int i=1;i<=(line-1);i++) {
System.out.print(" ");
} System.out.print("/"); //输出点“.”
for(int i=1;i<=2*(HEIGHT-line);i++) {
System.out.print(".");
} System.out.print("\\"); //输出右边的空格“ ”
for(int i=1;i<=line-1;i++) {
System.out.print(" ");
} System.out.println("|");
} } public static void drawLine() {
System.out.print("+");
for(int i=1;i<=2*HEIGHT;i++) {
System.out.print("-");
}
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. JavaScript变量声明var,let.const

    var声明变量的作用域限制在其声明位置的上下文中 var x = 0; // x是全局变量,并且赋值为0. console.log(typeof z); // undefined,因为z还不存在. f ...

  2. linux crontab 命令,最小的执行时间是一分钟,如需要在小于一分钟内重复执行

    编写shell脚本实现 crontab.sh #!/bin/bash step=2 #间隔的秒数,不能大于60 for (( i = 0; i < 60; i=(i+step) )); do $ ...

  3. 走进JDK(十一)------LinkedHashMap

    概述LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题.除此之外,LinkedHas ...

  4. idea编辑器激活码

    激活方式:License Server1.将地址 http://active.chinapyg.com/ 或者 http://idea.toocruel.net 任意一个复制到License Serv ...

  5. JavaScript基础视频教程总结(071-080章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  6. python2 python3区别(续)

    1.除法 Python2 Python3 int/int → int int/int → float python2下整数除以整数返回整数类型,python3下整数除以整数返回浮点数类型 当某些语句假 ...

  7. CSS伪类的理解

    因为之前一直对css伪类没有过多的了解,在网上看到一段css代码,不能理解 a:hover span.title{ color:red; ......... } 现通过查询css手册,其实css伪类只 ...

  8. 【Android开源库】 PagerSlidingTabStrip从头到脚

    简介 PagerSlidingTabStrip,是我个人经常使用到的一个和ViewPager配合的页面指示器,可以满足开发过程中常用的需求,如类似于今日头条的首页新闻内容导航栏等等,之前自己开发的Ju ...

  9. 3-Fiddler修改请求或响应内容

    1.修改请求内容 方法一:设置请求前断点,修改请求后发送 1)设置断点 2)选中请求,在inspectors下修改请求内容 3)修改请求后,点击Break on Response按钮,进行请求的发送 ...

  10. 《C# 从现象到本质》出版,免费送书10本

    我的第一本书<C# 从现象到本质>已于近日正式在京东和淘宝天猫上开始销售了.至此,我的图书写作和出版活动正式告一段落.图书销售网址见下. 试读样章 京东 天猫 从看书到写书 借着图书出版之 ...