文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

JAVA中怎么用for循环打印空心菱形

2023-06-29 01:56

关注

这篇“JAVA中怎么用for循环打印空心菱形”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JAVA中怎么用for循环打印空心菱形”文章吧。

空心菱形如图所示

JAVA中怎么用for循环打印空心菱形

那么我们应该如何去写出来呢?这就不得不引出一个非常经典的案例,金字塔案例,菱形像不像是两个对称的金字塔呢?废话不多说了,上思路:(仅代表个人理解,欢迎指点)

首先我们要写出一个空心菱形,那么我们首先得把需求由繁化简,把他拆分成一个一个简单的需求,

1那我们就先写半个金字塔,

JAVA中怎么用for循环打印空心菱形

是不是很眼熟的结构,没错和九九乘法表类似的结构,上代码

for(int i = 1;i <= 5;i++){ //i代表层数,这个可以设置一个变量接收,随便几层都行,不一定非要是5for(int j = 1;j <= i;j++){ //j代表个数System.out.print("*");}System.out.print("\n");            //System.out.println(" ");这样也行}

 半个金字塔出来了,那我们接下来就写一个完整的空心金字塔

//输出一个空心金字塔//思路分析://1.补全金字塔//    *   //空格数为 总层数 - 1 //个数为 1 3 5 7 9 什么规律呢 就是 2 * 当前层数 - 1    //   ***  //空格数为 总层数 - 1    //  *****    // *******    //*********      //2.将金字塔镂空        //   *    第一层 1个        //  *  *  第二次 2个        // *     *第三层 2个        //  ....  第n层  2个        //*********最后一层 全部有        //大致就是这个图形,(图形不准确,请自行脑补)for(int i = 1;i <= 5;i++){// i是层数//打印出每层前面的空格数for(int k = 1;k <= 5 - i;k++){System.out.print(" ");}//控制每层打印的个数for(int j = 1;j <= 2 * i - 1;j++){ //j是个数//空心金字塔都是第一个和最后一个位置有*,最后一层则是全部输出if(j == 1 || j == 2 * i - 1|| i == 5){ System.out.print("*");}else{System.out.print(" ");}}System.out.print("\n");}

 那么菱形就已经很简单了 我们只需要把空心金字塔最后一层的全部输出去掉 也就是 i == 5注销,就得到这么一个东西

JAVA中怎么用for循环打印空心菱形

菱形的工作已经完成了大半,接下来照猫画虎把下半部分写出来就可以了

for(int a = 4;a > 0;a--){//打印空格for(int c = 1;c <= 5 - a;c++){System.out.print(" ");}for(int b = 1;b <= 2 * a -1;b++){if( b ==1 || b == 2 * a -1){System.out.print("*");}else{System.out.print(" ");}}System.out.print("\n");}

虽然菱形的下半部分是一个倒过来的金字塔, 但是其规律并没有发生变化,空格数依旧是总层数 - 1

个数也没有发生变化,就是顺序倒过来,把++改成--就好了

完整的代码:

for(int i = 1;i <= 5; i++){//控制前面的空格数for(int k = 1;k <= 5 - i;k++){System.out.print(" ");}//控制每行输出的*的个数for(int j = 1;j <= 2 * i - 1;j++){//每行第一个和最后一个位置有*,最后一行全有if(j == 1 || j == 2 * i - 1){System.out.print("*");}else{System.out.print(" ");}}System.out.print("\n");}for(int a = 4;a > 0;a--){//打印空格for(int c = 1;c <= 5 - a;c++){System.out.print(" ");}for(int b = 1;b <= 2 * a -1;b++){if( b ==1 || b == 2 * a -1){System.out.print("*");}else{System.out.print(" ");}}System.out.print("\n");}

以上就是关于“JAVA中怎么用for循环打印空心菱形”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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