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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2022pycharm 激活码(JetBrains全家桶)

    (2022pycharm 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~40ZKSWCX8G-eyJsaWNlb…

    2022年4月2日
  • 实现一维卷积神经网络的方法_卷积神经网络处理一维数据

    实现一维卷积神经网络的方法_卷积神经网络处理一维数据实现一维卷积神经网络1、准备IMDB数据fromkeras.datasetsimportimdbfromkeras.preprocessingimportsequencemax_features=10000max_len=500print(‘loadingdata……’)(x_train,y_train),(x_test,y_test)=imdb.load_data(num_words=max_feature)print(len(x_train),’trainse

    2022年9月22日
  • 查看文件内容linux命令_shell读取文件夹下所有文件

    查看文件内容linux命令_shell读取文件夹下所有文件查看文件内容总览cat由第一行开始显示文件内容tac从最后一行开始显示,可以看出tac是cat的倒着写!nl显示的时候,顺道输出行号!more一页一页的显示文件内容less

    2022年8月6日
  • python中的与或非运算符_python与或非

    python中的与或非运算符_python与或非目录逻辑与(and)逻辑或(or)逻辑非(not)人生小感悟昨天我们学习了if嵌套语句的基本语法,并结合实际案例学习基本用法,虽然if嵌套语句可以很好的解决我们的问题,但是有时却让代码显得有些复杂了,其实,有时我们可以用一些更简单的方式来解决需要用if嵌套解决的问题。比如,驾照考取的年龄限制问题,C1的驾照考取年龄要求必须在18周岁至70周岁之间。针对这个问题,我…

    2022年10月10日
  • Java动态代理实现动态爬虫

    Java动态代理实现动态爬虫笔者公司是一家区块链门户网站,该网站的很多资讯,快讯,视频等数据都是通过爬虫爬取得第三方网站获得的,需要从很多网站要爬取数据,如果每个数据源网站都需要单独写个接口去爬的话,工作量无疑是巨大的,因为笔者想到了通过动态代理实现一套爬虫机制,每次要爬取新的数据源,只要在数据库里增加一条数据源即可,无需修改代码。废话不多说,下贴出数据库表结构DROPTABLEIFEXISTS…

    2022年7月15日
  • es6的map和set的区别_sleep和wait的区别

    es6的map和set的区别_sleep和wait的区别SetSet对象可以存储任何类型的数据。值是唯一的,没有重复的值。特殊值:+0与-0恒等,不重复。undefined与undefined恒等,不重复。NaN与NaN不恒等,但在Set中只能存一个,不重复。应用:数组去重使用Set值是唯一的特点可以对数组进行去重。vararr=[…newSet([1,5,4,4,7,6,6]…

    2022年9月6日

发表回复

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

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