文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java;打印菱形

2023-09-22 06:25

关注

本文讲述如何用Java打印一个菱形,以及打印直角和等腰三角形的方法,

本文教程比较详细,如果想要直接学习菱形可以直接翻到本文最下方!!!

左下角三角形

(这里说的方位均是对应矩形来说)

int a = 5;for (int i = 0; i < a; i++) {    for (int j = 0; j < i; j++) {        System.out.print("*");    }            System.out.println();}

这段代码将输出如下图形,,其中i<?控制输出行数,j<?控制输出列数

这里j

(这里输出*号语句要用System.out.print();避免换行。最下面的 System.out.println()是起换行作用; )

右下角三角形
int a = 5;for (int i = 0; i <= a; i++) {    for (int k = a; k > i; k--) {        System.out.print(" ");     }     for (int j = 0; j < i; j++) {         System.out.print("*");      }      System.out.println();}

这段代码将输出如下图形,这里增加了一个关于k的for循环,它的作用是在原本左下角的基础上在每行输出的*号之前增加空格,注意这里输出空格同样使用System.out.print();避免换行,因为k的循环是k--的递减循环,所以从i开始递减输出空格,就会形成一盒右下角的三角形。

正等腰三角形
        int a = 5;        for (int i = 0; i <= a; i++) {            for (int k = a; k > i; k--) {                System.out.print(" ");            }            for (int j = 0; j < 2*i-1; j++) {                System.out.print("*");            }            System.out.println();        }

这段代码将输出如下结果,观察下面的实际输出图片就会发现其实很好理解,只是将原来的右下角三角形输出的*号改为了1、3、5、7、9的奇数排列,我们可以利用规律,将控制每行数量的j改为2*i-1实现,同理利用不同公式可以控制每行的数量。

实际全部输出为

这里我们已经解决了菱形的上半部分

左上角三角形
int a =5 ;for (int i = 0; i < a; i++) {    for (int j = a; j > i; j--) {        System.out.print("*");    }    System.out.println();}

这段代码将输出如下结果,左上角就是倒过来打印左下角三角形,所以只需要让每行的*号递减即可,所以只用改变关于j的循环就可,让其初始值为最大,并将迭代器改为j--就可以实现此效果

右上角三角形
int len =5 ;for (int i = 0; i < len; i++) {    for (int k = 0; k < i; k++) {        System.out.print(" ");    }    for (int j = len; j > i; j--) {        System.out.print("*");    }    System.out.println();}

这段代码讲输出如下结果,这与左下三角和右下三角的本质相似,就是在输出的*号前面增加空格,不过这里是倒叙输出,那么相应输出空格的程序也要反过来。

倒等腰三角形

int a =5 ;for (int i = a; i > 0; i--) {    for (int k = a; k >= i; k--) {        System.out.print(" ");    }    for (int j = 2*i-1; j > 0; j--) {        System.out.print("*");    }    System.out.println();}

这段代码将输出如下结果,对比全部输出内容,可以看到原理与正等腰三角类似,只是颠倒输出顺序,就不过多赘述这个问题了。

菱形

实际上菱形就是一正一反两个三角形拼接而成,拆解过后,我们就知道可以通过输出正反等腰三角形就可以组成菱形。

int a = 5;//正等腰三角形for (int i = 0; i < a; i++) {    for (int l = a; l > i; l--) {        System.out.print(" ");    }    for (int j = 0; j < 2*i-1; j++) {        System.out.print("*");    }    System.out.println();}//倒等腰三角形for (int i = a-1; i > 0; i--) {    for (int k = a; k >= i; k--) {        System.out.print(" ");    }    for (int j = 2*i-3; j > 0; j--) {        System.out.print("*");    }    System.out.println();}

这段代码将输出如下结果,两个三角形输出的原理上面有详细解析,这里讲需要注意的地方,

  1. 输出下面的三角形的时候要将行数(即i的初始值)减去1,因为菱形中间的转折线要比上下两边都长,我们已经使用了上面的最长边,下面的三角形就应该省略,减去1后在开始(也可以让上面减少一次输出)。

2.因为行数减1了,所以对应的输出数量也要减掉,因为每行是增加2个,所以每一行输出的数量都应该额外减去2,所以j的初始值应该是2i-3;

这就是利用java输出一个菱形的方法,希望对大家有所帮助
感谢阅读!!!

来源地址:https://blog.csdn.net/m0_73932182/article/details/128503820

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯