java编写菱形以及空心菱形

版权声明:转发者请注明地址哦-----kuls的博客-一个正在疯狂学习的大学生- https://blog.csdn.net/qq_36547531/article/details/82143722

最近发现算法方面还是一脸懵逼,所以来写个笔记。
算法真的是建立在数学之上的,等下大家就知道了。
点击我关注博主的小网站
java编写菱形以及空心菱形,这个就是算法的入门吧(我这么认为的)
点击我关注博主的小网站

开始了啊!!!

首先来分析吧

这里写图片描述
这里写图片描述

我们要达到的效果就是这样!

首先分析一下实心的吧
这里写图片描述
先分析上半段(我们把整个分为两个部分,第一个部分为前四行,第二个部分为底下三行)
我们来找每行的规律:
第一行有一个 *
这个 * 前面有三个空格
第二行有两个 *
前面有两个空格
…….
点击我关注博主的小网站
依次类推
我们可以找出每一行空格和*的出现规律
空格数=上半段总行数-第几行的行数
* 数=2*第几行的行数-1
下半段的话就是相反的,仔细看下代码吧

得知规律后我们来写下吧。

创建两个方法

public static void starsUP() {
        int j;
        //m为上半截行数
        for(int m=1;m<=4;m++) {
        //j为每一行的行数  
        for(j=1;j<=4-m;j++) {
            System.out.print(" ");
        }
        for(j=1;j<=2*m-1;j++) { 
          System.out.print("*");

        }
            System.out.println();

        }

    }
    public static void starsDown() {
        int j;
        //m为下半截行数
        for(int m=3;m>=1;m--) {
                //j为每一行的行数  
        for(j=1;j<=4-m;j++) {
            System.out.print(" ");
        }
        for(j=1;j<=2*m-1;j++) { 
                 System.out.print("*");
        }
            System.out.println();

        }

    }

点击我关注博主的小网站

实心写完后,写空心,我直接上代码吧,就是添加了一个if else 语句。

public static void starsUP() {
        int j;
        //m为上半截行数
        for(int m=1;m<=4;m++) {

        for(j=1;j<=4-m;j++) {
            System.out.print(" ");
        }
        for(j=1;j<=2*m-1;j++) {
              //主要就是添加了以下的if语句
            if (j==1||j==(2*m-1)) {
                System.out.print("*");
            }else {
                System.out.print(" ");
            }


        }
            System.out.println();

        }

    }
    public static void starsDown() {
        int j;
        //m为上半截行数
        for(int m=3;m>=1;m--) {

        for(j=1;j<=4-m;j++) {
            System.out.print(" ");
        }
        for(j=1;j<=2*m-1;j++) {
         //主要就是添加了以下的if语句
            if (j==1||j==(2*m-1)) {
                System.out.print("*");
            }else {
                System.out.print(" ");
            }

        }
            System.out.println();

        }

    }

好了OK
点击我关注博主的小网站

猜你喜欢

转载自blog.csdn.net/qq_36547531/article/details/82143722
今日推荐