怎么用java去打印输出一个菱形。
比如要在控制台打印输出一个:
*
***
*****
***
*
我们应该怎么去做呢?首先,这个涉及到行和列,所以,这个肯定是用两个for的嵌套来打印输出。然后,我们要找出这个的规律,因为“磨刀不误砍柴工”,所以找出规律所在,我们才知道应该怎么去下手。比如:我们应该把这个分成上下两个部分,上面部分是:
***** 第一行:三个部分;2个空格 1个*号 2个空格 (i=1)
***** 第二行:三个部分;1个空格 3个*号 1个空格 (i=2)
***** 第三行:三个部分;0个空格 5个*号 0个空格 ( i=3)
为了更加方便去找规律,我们把这个图形补充完整,黑色部分代表着空格,也就是没有显示的部分,而红色部分就是我们的图形的上半部分。所以我们可以得出的规律是:*号的数量和i的关系为:2*i-1 而,空格因为左右一样,所以空格为:3-i。所以上半部分的代码可以这样写:
for(int i =1 ;i<=3;i++){
for(int j=1;j<=3-i;j++){
System.out.print(" ");//打印左边的空格
}
for(int j=1;j<=2*i-1;j++){
System.out.print("*"); //打印*号
}
for(int j=1;j<=3-i;j++){
System.out.print(" ");//打印右边空格(也可以省略)
}
System.out.println();//这是每一行打印完就换行
}
那同样的,我们也要在下半部分找出规律来:
***** 第一行:三个部分;1个空格 3个*号 1个空格 (i=1)
***** 第一行:三个部分;2个空格 1个*号 2个空格 (i=2)
所以我们可以得出的规律是:*号的数量和i的关系为:5-2*i 而,空格因为左右一样,所以空格为:i。所以下半部分的代码可以这样写:
for(int i=1;i<=2;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
for(int j=1;j<=5-2*i;j++){
System.out.print("*");
}
for(int j=1;j<=i;j++){
System.out.print(" ");
}
System.out.println();
}
同样的任何只要是这样的菱形,我们都可以通过这个规律去打印,只需要把上面的数字替换掉,替换成需要打印的数字就可以了,然后规律大家也可以自己去找。只要很认真熟练地打印出这个例子,那么for的嵌套使用就可以比较熟练了。
怎么用java去打印输出一个菱形。相关推荐
- Java实现打印输出菱形
Java实现打印输出菱形 思路 把菱形分成两部分输出,然后拼接 Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数 ...
- Java基础【之】输出一个菱形(详解)
Java基础[之]输出一个菱形(详解) 代码示例 <目录:Java渐进式学习> <目录:Java设计模式> <目录:从零手写Tomcat> 代码示例 public ...
- java语言打印1到10的偶数_#Java编程# 编写一个应用程序创建两个线程,一个线程打印输出1~100之间所有的奇数,另外一 求写一个用JAVA求1~...
import java.util.Random; class A extends Thread { \tint i=1; \tRandom r=new Random(); \tpublic void ...
- java一个参数 多个值_Spring里有类似@RequestParam的办法去绑定一个多值参数吧
[ 在 kabbesy (三冠王) 的大作中提到: ] : 标 题: Re: Spring里有类似@RequestParam的办法去绑定一个多值参数吧 : 发信站: 水木社区 (Wed Aug 18 ...
- java lt t gt 是什么意思_关于泛型:Java 7中的菱形运算符(&lt;&gt;)有什么意义?...
Java 7中的菱形操作符允许如下代码: List list = new LinkedList<>(); 然而,在Java 5/6中,我可以简单地写: List list = new Li ...
- 如何去判断一个面试者的深度学习水平?
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 编辑:Amusi | 来源:知乎 https://www.zhi ...
- 转Java转iOS-第一个项目总结(2):遇到问题和解决方案
目录 1.UITableView滑动卡顿的优化 2.右滑手势返回 3.添加页面统计 4.debug版和release版 5.关于页面刷新 6.关于页面布局 7.推荐博客 遇到问题和解决方案 本文是Ja ...
- Java转iOS-第一个项目总结(2)
2019独角兽企业重金招聘Python工程师标准>>> ##遇到问题和解决方案 本文是Java转iOS-第一个项目总结(1)的内容补充,分析遇到的一些问题和解决方案,分享一些 ...
- 利用java实现的一个发送手机短信的小例子
今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...
最新文章
- 为了智能驾驶,李彦宏要改造城市道路
- 图灵奖得主LeCun:不需要监督的AI才是未来!
- 命令模式的优点?_一篇目录复习完设计模式
- Code128 Fontware条码控件介绍
- 两个iphone怎么大量传照片_iphone12(或iphone12 pro)如何正确的转移手机数据?apple ID不通过,或者正在传输中持续无进度怎么办?...
- pycharm关闭git
- 【Flink】Too many fields referenced from an atomic type
- 学习英语,先记下留着后用
- 步进与伺服电机区别与选型
- vcpkg安装和使用--学习入门
- 小米怎么和计算机连接网络连接网络,小米电视如何与电脑连接
- QQ三国推举孝廉答题工具使用说明
- Android中使用自定义的VideoController和MediaPlayer实现视频的窗口和全屏播放
- 贪心算法(Greedy)
- 使用微信+树莓派+Arduino+服务器构建你的看门狗
- 电脑游戏业编年史之一游戏的诞生
- 什么是方差分析(ANOVA)?方差分析(ANOVA)有哪些类型?
- t-io 3.7.5 发布,口碑炸裂的国产网络编程框架
- 市场经济下的“按劳分配”
- 科研工具-Citespace和vosviewer文献计量及其可视化