Java利用循环,在控制台打印出菱形。
2017-12-08 20:21
671 查看
这个问题是很多新手老生常谈的问题,今天把代码贴出来,希望能帮到你们打开思路,而不是复制粘贴。
思路:
首先要设定行数,并且这个行数是奇数,因为偶数做出来的菱形有点歪。。。
再计算菱形最多的一行的“*”个数。
这时候行数与列数之间的关系是 列数=行数-1。
这里要打印出菱形,那么就要两个for并列输出,一个负责打印上半部,另一个负责打印下半部分。
基本上就差不多了,希望能帮到大家。
思路:
首先要设定行数,并且这个行数是奇数,因为偶数做出来的菱形有点歪。。。
再计算菱形最多的一行的“*”个数。
这时候行数与列数之间的关系是 列数=行数-1。
这里要打印出菱形,那么就要两个for并列输出,一个负责打印上半部,另一个负责打印下半部分。
基本上就差不多了,希望能帮到大家。
public class Demo09 { public static void main(String[] args) { int lineCount = 17;// 输出的菱形有多少行,赋值成奇数 int maxLineNum = (lineCount + 1) / 2;// 菱形最多一行 for (int i = 1; i <= maxLineNum; i++) {// 循环菱形数量越来越多的几行 for (int space = 1; space <= maxLineNum - i; space++) {// 输出空格,数量=最后一行-当前行数 System.out.print(" "); } for (int star = 1; star <= (i * 2) - 1; star++) {// 输出星号,数量=行数*2-1 System.out.print("* "); } System.out.println();// 换行 } int declineCount = lineCount - maxLineNum;// 计算剩下的几行,这几行星号的数量是递减的 for (int i = 1; i <= declineCount; i++) {// 循环菱形数量越来越少的行数 for (int space = 1; space <= i; space++) {// 输出空格,数量等于当前的行数 System.out.print(" "); } for (int star = 1; star <= (declineCount - i + 1) * 2 - 1; star++) {// 输出星号,数量等于(总数-当前行数)*2-1 System.out.print("* "); } System.out.println(); } } }
相关文章推荐
- JAVA 学习日志 利用循环打印简单的菱形程序
- java利用循环打印空心菱形
- Java中利用for循环打印直角三角形,倒立直角三角形,等腰三角形,平行四边形,菱形等
- Java控制台打印一个菱形
- Java多重循环算法问题:(九九乘法表、打印平行四边形、打印空心菱形、打印菱形、搬砖问题、斐波那契数列、猴子吃桃问题、回文数、1!+2!+...+20!)
- Java控制台打印一个空心菱形
- java 循环问题 大全 求2~100a之内的素数。求水仙花数:(1~1000)。有1、2、3、4四个数字,输出所有能组成的互不相同且无重复的三位数。打印空心菱形
- java用for循环语句打印菱形图案
- Java利用for循环输出空心菱形的实例代码
- java中只用三个循环在控制台输出菱形
- 利用java在控制台打印楼梯数字
- 利用java实现打印菱形
- java,for循环嵌套,打印菱形
- java 通过控制台输入的数字打印菱形字母
- Java控制台超级菱形打印方法
- Java中利用循环语句输出倒正三角形、菱形
- java-第九章-循环结构进阶-输入行数,打印菱形
- java控制台打印出菱形
- 两层for循环使用之 打印任意行数的菱形图像
- java里如何实现循环打印出字符或字符数组里的内容