java利用for循环打印菱形

 把图形分成上下两部分,每部分看作是一个空格组成的三角形加一个*组成的直角三角形加比上个每行少一个*的直角三角形,下部分相同,但是菱形最中间最长的那一行*只能有一行,利用了两个大for语句嵌套小for语句实现,比较繁琐

//总循环控制菱形上半部分的行数
        for (int x = 1; x <= 3; x++) {
            System.out.print("第" + x + "行");
            //打印菱形上半部分空出三角形的形状
            for (int z = 3; z > x; z--) {
                System.out.print(" ");
            }
            //打印空格三角形右侧*三角形的形状,以中间为界限
            for (int j = 1; j < x; j++) {

                System.out.print("*");
            }
            //打印上一个空格三角形右边的小*三角形
            for (int i = 1; i <= x; i++) {

                System.out.print("*");
            }
            //打印完成一行进行换行
            System.out.println();
        }

        //控制下方三角形的行数
        for (int x = 1; x <= 2; x++) {
            //对行数进行+3运算,因为上方打印了3行,从4开始
            System.out.print("第" + (x + 3) + "行");
            //打印菱形下半部分空出三角形的形状
            for (int z = 1; z <= x; z++) {
                System.out.print(" ");
            }
            //打印下半部分空格右侧*三角形形状
            for (int j = 3; j > x; j--) {

                System.out.print("*");
            }
            //打印下半部分*三角形右侧*三角形状
            for (int i = 3; i > (x + 1); i--) {

                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println("打印菱形完成");

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值