Java 一步一步教你在控制台打印出菱形
*******
*******
*******
*******
*******
从最简单的开始,先输出一个矩形
// 控制打印的行数for (int i = 0; i < 5; i++) {// 每一行打印*的个数for (int j = 0; j < 7; j++) {System.out.print("*");}
// 进行换行System.out.println();}
****************************
*******
将矩形变成一个平行四边形,观察发现行数不变,变的是每一行开头打印的空格数
第0
行 4
个空格
第1
行 3
个空格
第2
行 2
个空格
第3
行 1
个空格
第4
行 0
个空格
注:(我习惯i=0
进行for循环,这里的第0行即i=0
时打印出来的第1行,下同)
很容易我们就发现,每一行开头的空格数和行数的关系是两数相加=4
,由此我们可以对代码做如下改动
// 控制打印的行数for (int i = 0; i < 5; i++) {// 每一行开始之前输出空格for (int j = 0; j < 4-i; j++) {System.out.print(" ");}
// 每一行打印*的个数for (int j = 0; j < 7; j++) {System.out.print("*");}
// 进行换行System.out.println();}
*************************
再将平行四边形变成一个三角形,行数和每一行开头的空格数不变,变的是每一行打印的*
的个数,继续找规律
第0
行 1
个*
第1
行 3
个*
第2
行 5
个*
第3
行 7
个*
第4
行 9
个*
也很明显,行数和*数的关系是2倍行数+1=*数
// 控制打印的行数for (int i = 0; i < 5; i++) {// 每一行开始之前输出空格for (int j = 0; j < 4-i; j++) {System.out.print(" ");}
// 每一行打印*的个数for (int j = 0; j < 2*i+1; j++) {System.out.print("*");}
// 进行换行System.out.println();}
****************
*************************
好了,到现在为止菱形马上就要出来了,上面打印的三角形就是菱形的上半部分,我们只需要再打印一个四行的倒置的三角形就可以了,将上面的代码复制一份,放到下面,我们要调整的有三个地方
- 打印的行数
- 每一行开头输出的空格数
- 每一行打印的*数
和上面一样找规律就可以了
i=0
打印第1行 输出 1
个空格 7
个*
i=1
打印第2行 输出 2
个空格 5
个*
i=2
打印第3行 输出 3
个空格 3
个*
… …
空格规律:i+1=空格数
*数规律:2i+*数=7
// 控制打印的行数 菱形上半部分for (int i = 0; i < 5; i++) {// 每一行开始之前输出空格for (int j = 0; j < 4 - i; j++) {System.out.print(" ");}
// 每一行打印*的个数for (int j = 0; j < 2 * i + 1; j++) {System.out.print("*");}
// 进行换行System.out.println();}
// 控制打印的行数 菱形下半部分for (int i = 0; i < 4; i++) {// 每一行开始之前输出空格for (int j = 0; j < i+1; j++) {System.out.print(" ");}
// 每一行打印*的个数for (int j = 0; j < 7-2 * i ; j++) {System.out.print("*");}
// 进行换行System.out.println();}
稍加改造我们还可以输出数字菱形
1222333334444444
5555555554444444333332221
// 控制打印的行数 菱形上半部分for (int i = 0; i < 5; i++) {// 每一行开始之前输出空格for (int j = 0; j < 4 - i; j++) {System.out.print(" ");}
// 每一行打印*的个数for (int j = 0; j < 2 * i + 1; j++) {System.out.print(i+1);}
// 进行换行System.out.println();}
// 控制打印的行数 菱形下半部分for (int i = 0; i < 4; i++) {// 每一行开始之前输出空格for (int j = 0; j < i+1; j++) {System.out.print(" ");}
// 每一行打印*的个数for (int j = 0; j < 7-2 * i ; j++) {System.out.print(4-i);}
// 进行换行System.out.println();}
这是最基础的打印菱形的方法,更有意思的方式自己去探索吧!
Java 一步一步教你在控制台打印出菱形相关推荐
- java打印菱形图案_java打印出菱形图案实例详解
第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...
- java打出菱形简介_使用java打印出菱形图案的操作步骤
使用java打印出菱形图案的操作步骤 发布时间:2020-04-25 17:17:47 来源:亿速云 阅读:118 作者:小新 今天小编给大家分享的是使用java打印出菱形图案的操作步骤,相信很多人都 ...
- 打印菱形图案用java如何做_Java打印出菱形图案
Java打印出菱形图案 题目:打印出如下图案(菱形) * *** ****** ******** ****** *** * 程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 ...
- JAVA输出菱形并使用绝对值,案例用绝对值的方法打印出菱形
import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = ...
- 运用java打印出菱形
* * * * * * * * * * * * * * * * * * * * * * * * * 首先我们需要打印出空格跟打印出三角形是一样的我们需 ...
- java控制台打印图片_java——控制台输入打印图形
1. 打印直角三角形 需求说明:从控制台输入直角三角形的高度(行数).每行*的数目依次为1.3.5.7等 . 实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件 分析每行打印的内容: 每一 ...
- byfen网java_用java编写程序根据考试成绩的等级打印出百分制分数段
用java编写程序,根据考试成绩的等级打印出百分制分数段:设A为90分以上,B为80分以上,C为70分以上,D为60分以上,E为59分以下.要求在程序中使用开关语句.上级运行其结果是否符合设计要求: ...
- 【Java基础】控制台打印日历
描述 通过Calendar的基本使用,以及对控制台输出内容进行对齐的一些小技巧,在控制台打印出某年某月的一个日历. 一. java.util.Calendar类的使用 在Java类库中有一个类:jav ...
- 怎么画龙的画奶奶帮我擦java,怎么一步一步教孩子用蜡笔简单画一条龙(步骤图解)...
庆祝农历春节,常会有舞龙舞狮表演.在传统文化中,龙是能呼风唤雨的神圣吉祥的动物,我们还自称为"龙的传人".农历年前夕,我们来画一条龙. 怎么一步一步教孩子用蜡笔简单画一条龙 材料: ...
- 怎么画龙的画奶奶帮我擦java,一步一步教我画龙图片
数着楼梯的阶数,一级.一级,又一级.我知道,数到最温暖的级数,就可以看见妈妈温馨的笑脸.脏兮兮的鞋带作文网 www.unjs.com面对那样一张试卷,我也真是无话可说了,"严谨"为 ...
最新文章
- 2022-2028年中国PVC糊树脂行业市场深度分析及市场规模预测报告
- fragment 横竖屏 不重建
- 《游戏设计师修炼之道:数据驱动的游戏设计》一1.4小结
- FPGA基于双端口RAM的乒乓操作
- C# Application.DoEvents() 处理队列消息,防界面假死。
- 手机站点开发及手机中图片加速显示img的Canvas方法
- 数据库路由中间件MyCat - 源代码篇(7)
- 模板:Prufer序列
- elementui 按钮 表单_element UI实现表格中添加开关控制按钮
- SQL SERVER查看当前连接情况
- 华为鸿蒙系统费电吗,华为鸿蒙系统优势在哪里?
- Java架构师知识体系汇总
- POJ 2871 整数奇偶排序
- Logback分别打印info日志和error日志
- 使用Outlook Connector插件之后 qq发送过来的邮件为乱码
- 【硬件】AD制作集成库IntLib
- zgb老师关于java集合的总结
- 制作DOS的U盘启动
- 【Remote Sensing】高光谱遥感基础
- 清华王宏计算机编程,培养出300多个信息学奥赛冠军后,听他谈如何造就精英!...