用Java实现实心菱形打印

如何用Java打印实心菱形?
我们可以把菱形拆分看成两个图形,一个正三角和一个倒三角图形,然后我们分别实现正三角和倒三角图形的打印,最后进行拼接成菱形

正三角打印

for (int i = 1; i <= 5; i++) {//外层控制行数 5行/*空格规律:第一行===》4个空格第二行===》3个空格第三行===》2个空格第四行===》1个空格第五行===》0个空格*/for (int j = 5; j > i; j--) {//控制空格数,1表示空格 System.out.print("1");}/*星号规律:第一行===》1个星号第二行===》3个星号第三行===》5个星号第四行===》7个星号第五行===》9个星号*/for (int j = 1; j <= 2 * i - 1; j++) {//控制星号数System.out.print("*");}System.out.println();//内层循环完后进行换行
}

效果图

倒三角打印

for (int i = 1; i <= 5; i++) {//外层控制行数 5行/*空格规律:第一行===》0个空格第二行===》1个空格第三行===》2个空格第四行===》3个空格第五行===》4个空格*/for (int j = 1; j < i; j++) {// 控制空格数,1表示空格System.out.print("1");}/*星号规律:第一行===》9个星号第二行===》7个星号第三行===》5个星号第四行===》3个星号第五行===》1个星号*/for (int j = 9; j >= 2 * i - 1; j--) {// 控制星号个数System.out.print("*");}System.out.println();
}

效果图


对两个三角形进行拼接优化打印菱形

 Scanner scan = new Scanner(System.in);System.out.print("请输入需要打印实心菱形的行数:");int numLine = scan.nextInt();//对用户输入的数进行判断while (true) {if(numLine < 2) {System.out.print("菱形不能小于两行,请重新输入:");numLine = scan.nextInt();}else {break;}} ;// 正三角for (int i = 1; i <= numLine; i++) {// 控制行数for (int j = numLine; j > i; j--) {// 控制空格数System.out.print(" ");}for (int j = 1; j <= 2 * i - 1; j++) {// 控制星号个数System.out.print("*");}System.out.println();}// 倒三角for (int i = 1; i < numLine; i++) {//为什么拼接后j=0?因为拼接后去掉了最上面的一层空格就变成了从1开始for (int j = 0; j < i; j++) {// 控制空格数System.out.print(" ");}//同理,星号要减去一行,所以j >= 2 * i + 1而不是j >= 2 * i - 1了for (int j = 2 * numLine - 1; j >= 2 * i + 1; j--) {// 控制星号个数System.out.print("*");}System.out.println();}// 关闭扫描,释放资源scan.close();

效果图

欢迎大家提供新的思路及解决方法!

Java打印菱形(一)相关推荐

  1. java打印菱形图案_java打印出菱形图案实例详解

    第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...

  2. java打印菱形代码_Java打印菱形高效简洁代码

    importjava.util.Scanner;publicclass打印菱形{publicstaticvoidmain(String[]args){/**菱形******************** ...

  3. java打印菱形(Java打印菱形图案)

    如何用java语句打印菱形 既然要求死了是*,就好办了,看我的程序 public class test public static void main(String []args) String a= ...

  4. Java打印菱形与空心菱形

    打印菱形尤其是空心菱形对于初学者来说有一定难度,熟练掌握了for循环后,还是可以打印出来的 分析:1.先打印上半部分,再打印下半部分 2.找准空格与星号之间的关系,然后再打印 3.上半部分每一行数目分 ...

  5. Java打印菱形的思路分析

    在控制台打印菱形是个很经典的题目,考察的是对嵌套循环的使用. 题目的要求是,打印出如下菱形: 思路分析: 因为代码都是自上而下,从左往右一步步运行的,所以想要打印出这样的图形需要先拆解它,分析它的构成 ...

  6. Java 打印菱形星块

    题目描述 编写一个程序,输入1个正整数n,若n为奇数则打印n行的菱形星块:若n为偶数,则提示继续输入,直到输入一个奇数为止. 完整的运行结果如下(其中10和7是输入信息其余的是输出信息): 请输入n: ...

  7. Java打印菱形(空格菱形)(星星之间有空格)

    打印如下图形: *       * *      * * * *    * * * * * *  * * * * * * * *    * * * * * *      * * * *        ...

  8. java.打印菱形_利用java程序打印空菱形

    public class Test1 { public static void main(String[] args) { // TODO Auto-generated method stub int ...

  9. java程序输出实心菱形,使用java打印菱形(实心)

    声明:图形的打印考验的是逻辑思维能力,与计算机语言熟练程度无关.逻辑思维能力弱的同鞋,做不了研发可以做开发. 一.效果图 代码: package com.test; /** * 实心菱形 * * @a ...

  10. java 打印菱形和空心菱形

    显示效果是这样的: 代码如下: int hangshu = 11;int yiban = hangshu / 2 + 1;int yibanduo = hangshu / 2;System.out.p ...

最新文章

  1. 惊!!!CV界的BERT要来了?准确率提高近25%!
  2. python如何帮我在投资中获取更高收益
  3. NXT(未来币)(阿朵)节点钱包
  4. 使用Gson 解析json
  5. 【转】Spark源码分析之-scheduler模块
  6. 在Linux和Mac OS X系统上运行.NET
  7. vim使用教程(全)-最好的编辑器 2015-04-09 18:26 40人阅读 评论(0) 收藏...
  8. 简要安装FreeBSD 6.2及配置桌面环境[zz]
  9. 支付宝上线宠物防走丢功能
  10. 基于python的智能安防系统_基于Python语言的智能家居系统研究
  11. Zabbix高可用,实现zabbix的无缝切换,无故障时间
  12. Spring源码之ApplicationContext(九)初始化剩余的单例
  13. 【生信进阶练习1000days】day7-RSQLite的使用
  14. C语言指针详解(通俗易懂)
  15. MySQL基础篇(上)
  16. 快速了解 CMYK印刷色与三原色,CMY三原色为什么要加K黑色?
  17. Ubuntu修改只能用Guest登录
  18. Word2vec 计算两个文本之间相似度
  19. Python 终极指南:进阶之路
  20. 降级域控制器为成员服务器

热门文章

  1. Verilog初级教程(13)Verilog中的块语句
  2. verilog教程——initial语句和always语句
  3. shell中txt转EXCEL
  4. 《python深度学习》总结与感想
  5. 史上最全的微信小程序代码大全分享
  6. 高阶篇:4.4)FMEA手册的疑问与不足(个人观点)
  7. 区块链技术指南学习(一)未来已来
  8. vscode插件开发总结
  9. JSP 页面实现一个计算器功能
  10. Linux系统下的软件安装