*******
*******
*******
*******
*******

从最简单的开始,先输出一个矩形

//        控制打印的行数for (int i = 0; i < 5; i++) {//            每一行打印*的个数for (int j = 0; j < 7; j++) {System.out.print("*");}
//            进行换行System.out.println();}
    ****************************
*******

将矩形变成一个平行四边形,观察发现行数不变,变的是每一行开头打印的空格数

04个空格
13个空格
22个空格
31个空格
40个空格
注:(我习惯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();}
     *************************

再将平行四边形变成一个三角形,行数和每一行开头的空格数不变,变的是每一行打印的*的个数,继续找规律

01个*
13个*
25个*
37个*
49个*

也很明显,行数和*数的关系是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 一步一步教你在控制台打印出菱形相关推荐

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

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

  2. java打出菱形简介_使用java打印出菱形图案的操作步骤

    使用java打印出菱形图案的操作步骤 发布时间:2020-04-25 17:17:47 来源:亿速云 阅读:118 作者:小新 今天小编给大家分享的是使用java打印出菱形图案的操作步骤,相信很多人都 ...

  3. 打印菱形图案用java如何做_Java打印出菱形图案

    Java打印出菱形图案 题目:打印出如下图案(菱形) * *** ****** ******** ****** *** * 程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 ...

  4. JAVA输出菱形并使用绝对值,案例用绝对值的方法打印出菱形

    import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = ...

  5. 运用java打印出菱形

    *     * *    * * *   * * * *  * * * * *   * * * *    * * *     * *      *  首先我们需要打印出空格跟打印出三角形是一样的我们需 ...

  6. java控制台打印图片_java——控制台输入打印图形

    1. 打印直角三角形 需求说明:从控制台输入直角三角形的高度(行数).每行*的数目依次为1.3.5.7等 . 实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件 分析每行打印的内容: 每一 ...

  7. byfen网java_用java编写程序根据考试成绩的等级打印出百分制分数段

    用java编写程序,根据考试成绩的等级打印出百分制分数段:设A为90分以上,B为80分以上,C为70分以上,D为60分以上,E为59分以下.要求在程序中使用开关语句.上级运行其结果是否符合设计要求: ...

  8. 【Java基础】控制台打印日历

    描述 通过Calendar的基本使用,以及对控制台输出内容进行对齐的一些小技巧,在控制台打印出某年某月的一个日历. 一. java.util.Calendar类的使用 在Java类库中有一个类:jav ...

  9. 怎么画龙的画奶奶帮我擦java,怎么一步一步教孩子用蜡笔简单画一条龙(步骤图解)...

    庆祝农历春节,常会有舞龙舞狮表演.在传统文化中,龙是能呼风唤雨的神圣吉祥的动物,我们还自称为"龙的传人".农历年前夕,我们来画一条龙. 怎么一步一步教孩子用蜡笔简单画一条龙 材料: ...

  10. 怎么画龙的画奶奶帮我擦java,一步一步教我画龙图片

    数着楼梯的阶数,一级.一级,又一级.我知道,数到最温暖的级数,就可以看见妈妈温馨的笑脸.脏兮兮的鞋带作文网 www.unjs.com面对那样一张试卷,我也真是无话可说了,"严谨"为 ...

最新文章

  1. 2022-2028年中国PVC糊树脂行业市场深度分析及市场规模预测报告
  2. fragment 横竖屏 不重建
  3. 《游戏设计师修炼之道:数据驱动的游戏设计》一1.4小结
  4. FPGA基于双端口RAM的乒乓操作
  5. C# Application.DoEvents() 处理队列消息,防界面假死。
  6. 手机站点开发及手机中图片加速显示img的Canvas方法
  7. 数据库路由中间件MyCat - 源代码篇(7)
  8. 模板:Prufer序列
  9. elementui 按钮 表单_element UI实现表格中添加开关控制按钮
  10. SQL SERVER查看当前连接情况
  11. 华为鸿蒙系统费电吗,华为鸿蒙系统优势在哪里?
  12. Java架构师知识体系汇总
  13. POJ 2871 整数奇偶排序
  14. Logback分别打印info日志和error日志
  15. 使用Outlook Connector插件之后 qq发送过来的邮件为乱码
  16. 【硬件】AD制作集成库IntLib
  17. zgb老师关于java集合的总结
  18. 制作DOS的U盘启动
  19. 【Remote Sensing】高光谱遥感基础
  20. 清华王宏计算机编程,培养出300多个信息学奥赛冠军后,听他谈如何造就精英!...

热门文章

  1. R数据分析:竞争风险模型的做法和解释
  2. 全面解析抖音直播各类玩法;新人也能快速直播。
  3. c语言常量printf,C语言常量和printf函数
  4. 击鼓传花c语言编程题,转身之间——此间的少年画蛇添足版
  5. 怎么把知网的外文文献翻译成中文_知网查重中文译成英文可行吗?
  6. 对称矩形C语言,c语言编程求任意对称正定矩阵的逆。
  7. 【筆記】八部金剛功-張道長口述記載
  8. html js 鼠标变图片大小,js之图片变大变小效果
  9. ADNI数据集阅读整理
  10. 分布式系统容错性方案设计:重试与幂等