使用Java基础语言简单打印空心菱形

如何实现使用循环打印空心菱形

    在知道菱形是如何打印的基础之上我们要想象一下空的的该如何实现 思考以后我们会发现空心菱形只需要留下菱形的边中间挖空 还是在两个三角形的(一个正一个倒)的基础上保留边缘中间挖空
Scanner sc = new Scanner(System.in);
        System.out.println("请输入边长:");
        int lean=sc.nextInt();
        for (int i = 1; i <= lean; i++) {
            //空格
            for (int j = 1; j <= lean-i; j++) {
                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 = 1; i <= lean-1; i++) {
            //空格
            for (int j = 1; j <=i; j++) {
                System.out.print("  ");
            }
            //星号
            for (int j = 1; j <= 2*lean-2*i-1; j++) {
                //边缘保留。中间挖空
                if(j==1||j==2*lean-2*i-1)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            //换行
            System.out.println();
        }

我们还是需要注意两个三角形接触的位置需要细微处理一下否则影响形状

经验分享 程序员 微信小程序 职场和发展