嵌套循环之:利用java打印菱形

先明确:

我们需要输出的是一行一行的,先明确一个结构,即输出n行的结构

接下来就是分为上5行和下4行即可(代码注释很明确)

for (int i = 1; i <= n ; i++) {
            System.out.println();//换行
        }

关键是明确分好上下部分来找外层循环变量i 和内层循环变量 j 的规律(初中数学)

详细见代码注释部分

 public static void main(String[] args) {

        //上半部分:5行
        for (int i = 1; i <=5 ; i++) {
            //在换行之前,需要输出一些空格,然后输出一些*
            /*
            当i=1,空格4个,j=1,2,3,4
            当i=2,空格3个,j=1,2,3
            当i=3,空格2个,j=1,2
            当i=4,空格1个,j=1
            j<=5-i
             */
            for (int j = 1; j <= 5-i ; j++) {
                System.out.print("  ");
            }

            /*
            当i=1,1个*, j=1
            当i=2,3个*, j=1,2,3
            当i=3,5个*, j=1,2,3,4,5
            当i=4,7个*, j=1,2,3,4,5,6,7
            当i=5,9个*, j=1,2,3,4,5,6,7,8,9
                    j<=2*i-1

             */
            for (int j = 1; j <=2*i-1 ; j++) {
                System.out.print("* ");
            }

            System.out.println();
        }
        //下半部分:4行
        for (int i = 1; i <=4 ; i++) {
            //在换行之前,需要输出一些空格,然后输出一些*
            /*
            当i=1,空格1个,j=1
            当i=2,空格2个,j=1,2
            当i=3,空格3个,j=1,2,3
            当i=4,空格4个,j=1,2,3,4
            j<=i
             */
            for (int j = 1; j <= i ; j++) {
                System.out.print("  ");
            }

            /*
            当i=1,7个*, j=1,2,3,4,5,6,7
            当i=2,5个*, j=1,2,3,4,5
            当i=3,3个*, j=1,2,3
            当i=4,1个*, j=1
                j<=9-2*i
             */
            for (int j = 1; j <=9-2*i ; j++) {
                System.out.print("* ");
            }

            System.out.println();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值