使用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. 关于python-flask中规范创建项目的几个关键py项目文件

    1.config.py——配置文件 DEBUG = True DIALECT = 'mysql' DRIVER = 'mysqldb' USERNAME = 'root' PASSWORD = '' ...

  2. 移动端常见bug

    meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="width=device-wid ...

  3. http跳转https

    参考:http://www.cnblogs.com/tielemao/p/6386362.html webconfig中增加: <configuration> <system.web ...

  4. vue中的axios封装

    import axios from 'axios'; import { Message } from 'element-ui'; axios.defaults.timeout = 5000;axios ...

  5. vue中集成pdfjs自定义分页

    <template> <div id="div_read_area_scrool" class="no-scrollbar--x" :styl ...

  6. PHP引用(&)练习

    <?php class talker { private $data = 'Hi'; public function & get(){ //返回值指向一个内容,这里是指向$data的内容 ...

  7. Docker构建其它组件

    构建mysql 运行centos7容器 docker run --privileged -dti --name=centos-container centos:7 /usr/sbin/init 查询c ...

  8. mysql的一点小错误

    当使用sql语句时,字段记得使用``反向单引号,而不是单引号

  9. Android开发者的Anko使用指南(二)之Dialogs

    在项目中使用Anko Dialogs dependencies { compile "org.jetbrains.anko:anko-commons:$anko_version" ...

  10. Redis-07.Spring Data整合Jedis

    Spring整合Jedis 1.单实例(想节约时间的请直接拖到下面跳过1.2部分) step1:毫无疑问,首先需要在pom.xml中配置Jedis依赖 <dependency> <g ...