for循环输出漏斗的形状【java】
使用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】的更多相关文章
- 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,其他位置的数值是其正上方的数值与左上 ...
随机推荐
- 1 - IO
IO流第二天 今日内容 字节流 字符流 字节流 在前面的学习过程中,我们一直都是在操作文件或者文件夹,并没有给文件中写任何数据.现在我们就要开始给文件中写数据,或者读取文件中的数据 字节输出流Outp ...
- 《Linux就该这么学》第十八天课程
1.使用MariaDB数据库管理系统 今天没什么笔记,就不发了.想深入学习的可以前往原创地址:https://www.linuxprobe.com/chapter-18.html 图18-1 Mari ...
- KIDS采购销售管理系统
{KIDS采购销售管理系统} 软件项目总结报告 编号:-{kpss}-CLOSUREREPORT 版本:1.0 变更记录 1 项目信息 2 项目说明 [本项目主要用于母婴店人事管理,采购管理,商品管理 ...
- Codeforces 1065 简要题解
文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 GGG题略难,膜了一波zhouyuyang{\color{red} zhouyuyang}zhouyuyang巨佬的代码. 其余都挺清真的. ...
- (26)A delightful way to teach kids about computers
https://www.ted.com/talks/linda_liukas_a_delightful_way_to_teach_kids_about_computers/transcript00:1 ...
- java 调用 api接口
/* * Copyright 2018 textile.com All right reserved. This software is the * confidential and propriet ...
- 生成图形化html报告
生成图形化html报告: 1.从cmd 进入执行测试文件 2.执行该命令:jmeter -n -t <test JMX file> -l <test log file> -e ...
- 【洛谷P3369】【模板】普通平衡树题解
[洛谷P3369][模板]普通平衡树题解 题目链接 题意: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3 ...
- Shell变量类型和运算符-2
- memset函数用法
1. memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组 c:是赋给buffer的值 cou ...