使用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. 开发HR人事考试系统介绍

    确定好需要开发的模块以及功能 一套人事考试系统主要模块: 1)组织管理:公司部门成员信息 2)人事管理:人事信息,离职管理,职务管理,岗位管理: 3)考勤管理:班次设置,停工放假,假日设置,刷卡记录, ...

  2. 使用kbmmw smarthttpservice 简单返回数据库结果

    这个很简单,直接上码. 服务器端声明过程 [kbmMW_Rest('method:get, path:querytable')] [kbmMW_Method] function querytable( ...

  3. DOS命令 学习笔记

    将遇到的一些DOS命令(linux命令和DOS命令都存在的命令也记录在此处)记录下,方便以后查询 DOS命令计算文件md5/sha1/sha256 certutil -hashfile yourfil ...

  4. python turtle库

    turtle库初步 先看 https://www.cnblogs.com/chy8/p/9448606.html 一 turtle库介绍 turtle乌龟 import turtle from tur ...

  5. Linux 入门视频教程

    http://v.youku.com/v_show/id_XNzM4NTU0MjQ4.html?f=28697585&o=1 1.1.1 Linux系统简介-UNIX发展历史和发行版本http ...

  6. 【Spring】入门HelloWorld

    参考:https://www.yiibai.com/spring/spring-tutorial-for-beginners.html 一.创建项目 1.利用IntelliJ创建Maven项目 2.配 ...

  7. 《python语言程序设计》_第6章_函数

    # 6.1_引言 程序1: 结果: Sum from 1 to 10 is 55Sum from 20 to 38 is 513Sum from 35 to 50 is 630 程序2: #程序1和2 ...

  8. “PurMVC”在Unity中的应用

    序章: 这是"游戏设计进阶技巧篇"内容,游戏中不使用如下技巧也可以正常运行,但是有了它以后可以增加项目的可读性,使功能”模块化“,”可视化“,”装逼化“(慢慢的恶意>,> ...

  9. linux-ssh登陆导语

    用户登录前显示的导语信息(在你选择的文件中配置,例如 /etc/login.warn) 用户成功登录后显示的导语信息(在 /etc/motd 中配置) 如何在用户登录前连接系统时显示消息 当用户连接到 ...

  10. Linux 常用分区方式

    1 分两个区 主目录:/ 交换分区:swap 2 常用分区方式,以使用100G空间安装linux为例 引导分区: 挂载点/boot,分区格式ext4,500M以内即可 交换分区: 无挂载点,分区格式选 ...