java语言打印出菱形_java怎么打印菱形

java语言打印出菱形_java怎么打印菱形Java典型例题(打印菱形)题目:利用*号打印出一个菱形图样分析:下面逐步分析菱形打印的推演过程推演过程利用单独的方法演示,使用时直接在主方法中调用对应的方法即可。第一步,打印一行*号/**打印出如下图形: ********/publicstaticvoidprint01(){//每次打印一个星星for(inti=1;i<=7;i++){…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Java典型例题(打印菱形)

题目:利用*号打印出一个菱形图样

分析:下面逐步分析菱形打印的推演过程

推演过程利用单独的方法演示,使用时直接在主方法中调用对应的方法即可。

第一步,打印一行*号

/** 打印出如下图形: ******* */
public static void print01() { 
   
    //每次打印一个星星
    for(int i = 1;i<=7;i++) { 
   
        System.out.print("*");
    }
    System.out.println();
}

第二步,打印出一个矩形

/** 打印出矩形: ******* ******* ******* ******* */	
public static void print02() { 
   
    System.out.println("循环每次打印一个星星");
    for(int i = 1;i<=4;i++) { 
   //行数
        for(int j = 1;j<=7;j++) { 
   //星星个数
            System.out.print("*");
        }
        System.out.println();
    }	
}

第三步,打印出一个三角型

/** 打印出如下图形 * *** ***** ******* 规律如下: 行数 *号个数 1 1 2 3 3 5 4 7 n 2*n-1 */
public static void print03() { 
   
    for(int i = 1;i<=4;i++) { 
   //控制行数
        for(int j = 1;j<=2*i-1;j++) { 
   //控制星星个数的时候和行有关
            System.out.print("*");
        }
        System.out.println();
    }
}

第四步,打印出一个正三角型

/** 打印如下图型: * *** ***** ******* 规律如下: 行数 1 2 3 4 n 空格 3 2 1 0 总行数-n 星星 1 3 5 7 2*n-1 */
public static void print04() { 
   
    for(int i = 1;i<=4;i++) { 
   //控制行数
        for(int k = 1;k<=4-i;k++) { 
   //空格的个数
            System.out.print(" ");
        }
        for(int j = 1;j<=2*i-1;j++) { 
   //控制星星个数的时候和行有关
            System.out.print("*");
        }
        System.out.println();
    }
}

第五步,打印出一个菱形

/** * * * * * *** * ***** * ******* * 行数 1 2 3 4 n * 空格 3 2 1 0 总行数-n * 星星 1 3 5 7 2*n-1 * * * ***** * *** * * * 行数 3 2 1 n * 空格 1 2 3 总行数-n * 星星 5 3 1 2*n-1 * * * * */
public static void print05() { 
   
    for(int i = 1;i<=4;i++) { 
   //控制行数
        for(int k = 1;k<=4-i;k++) { 
   //空格的个数
            System.out.print(" ");
        }

        for(int j = 1;j<=2*i-1;j++) { 
   //控制星星个数的时候和行有关
            System.out.print("*");
        }
        System.out.println();
    }

    for(int i = 3;i>=1;i--) { 
   //控制行数
        for(int k = 1;k<=4-i;k++) { 
   //空格的个数
            System.out.print(" ");
        }

        for(int j = 1;j<=2*i-1;j++) { 
   //控制星星个数的时候和行有关
            System.out.print("*");
        }
        System.out.println();
    }
}

打印结果如图所示:

在这里插入图片描述

思考:如何打印出一个中间部分是一个空心的菱形

public static void print06() { 
   
    for(int i = 1;i<=4;i++) { 
   //控制行数
        for(int k = 1;k<=4-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.println();
    }

    for(int i = 3;i>=1;i--) { 
   //控制行数
        for(int k = 1;k<=4-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.println();
    }	
}

打印结果如图所示:
在这里插入图片描述

菱形代码优化

以上实现打印菱形的代码比较复杂,我们可以对代码进行优化
在这里插入图片描述

/* 菱形代码优化 */
public static void print07() { 
   
    for(int x = -5;x<=5;x++) { 
   
        for(int y = -5;y<=5;y++) { 
   
            if((x>0?x:-x)+(y>0?y:-y)<=5) { 
   
                System.out.print("*");
            }else { 
   
                System.out.print(" ");
            }
        }
        System.out.println();
    }

输出结果如图所示:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187965.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月17日 下午11:40
下一篇 2026年4月17日 下午11:46


相关推荐

  • 2014手机号码归属地数据库

    2014手机号码归属地数据库2014手机号码归属地数据库2014年最新版《手机号码归属地数据库》(更新时间:2014年4月6日),总共1万条记录。数据字段:-号码段(即。号码前7位)-省-市-供应商(含,通信协议)演示样例数据:”1300000″,”北京”,”北京”,”中国联通(GSM)””1…

    2022年7月22日
    18
  • SendMessage使用方法

    SendMessage使用方法1 向子窗口传递消息 SendMessage m DlgLeftChild m hWnd MSG UPDATE LEFT CHILD 0 0 2 向父窗口发送消息 CWnd pWnd dynamic cast CSendMsgDemo GetParent HWNDhWnd pWnd gt GetSafeHwnd SendMessage hWnd MSG UPDATE PARENT 0 0 CSendMsgDemo

    2026年3月16日
    3
  • 安装试用国产系统 ——中标麒麟V7.0

    安装试用国产系统 ——中标麒麟V7.0     安装试用国产系统——中标麒麟V7.0首先自然是下载个系统的安装镜像了。下载完镜像,创建一个新的虚拟机 配置好镜像文件,开始安装了 这个倒是和一般的Linux系统没什么区别,反正中标麒麟也是基于Linux的。 加载十几秒,下面开始正式安装:  使用默认的分区就好了。  安装完成,重启一下。  然后是对系统进行简单的配置,结果忘截图了。。。。登陆进去。 中标麒麟系统的默认桌面:是不…

    2022年10月20日
    5
  • 网易邮箱(126/163):授权码获取攻略

    网易邮箱(126/163):授权码获取攻略一、网易免费邮箱1、因为网易限制,第三方邮件客户端登陆网易邮箱必须用授权码登陆。浏览器登录mail.163.com(126邮箱:mail.126.com),点击路径:“设置”>>“POP3/SMTP/IMAP”。2、在右边网页中,选择“开启”(IMAP/SMTP服务),弹出“帐号安全验证”,用手机扫码发送短信,并点击“我已发送”3、验证后获取客户端授权密码4、此处可管理多个客户端授权密码二、网易VIP邮箱

    2022年4月4日
    2.7K
  • java绝对值方法(java计算绝对值的方法)

    **文章摘要**1、绝对值函数,用来获取表达式的绝对值。2、绝对值函数,实现降序+升序输出。一、绝对值函数使用说明绝对值函数是JDK中Math.java中的实现方法,其用来得到表达式的绝对值。其实现非常简单,源码如下:/***Returnstheabsolutevalueofan{@codeint}value.*Iftheargumentisnotnegative…

    2022年4月18日
    911
  • The existing index has no NexusIndexer descriptor

    The existing index has no NexusIndexer descriptor

    2021年8月12日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号