java用for循环嵌套打印出一个菱形(思路分析加代码)

用java打印菱形

思路:

首先我们需要先分析整体结构

java用for循环嵌套打印出一个菱形(思路分析加代码)_第1张图片

想要打印菱形,我们可以分为两个部分,即看成两个三角形,上面是3行的正向三角形,下面是2行的倒立着的三角形,这两个部分组合在一起,第一步我们先打印出上面的3行,第二步再打印出下面2行

1.用i表示行数,用j表示三角形每行元素前面的空格,用*号表示三角形的元素,用for循环嵌套即可完成,结构分析和代码如下,输入之后可以先运行尝试一下:

i j k 关系
1 2 1 j=3-i,k=2*i-1
2 1 3
3 0 5
for (int i = 1; i <= 3; i++) {           //打印行数
            for (int j=1;j<=3-i;j++){    //打印空格
                System.out.print(" ");
            }
            for(int k=1;k<=2*i-1;k++){   //打印*号
                System.out.print("*");
            }
            System.out.println();  //在最后执行换行操作
        }

2.接下来打印下边的小三角形,同样的用i表示行,j表示空格,k表示*号,代码如下:

i j k 关系
1 1 3 j=i,k=5-2*i
2 2 1
  for (int i = 1; i <= 2; i++) { //打印行
            for(int j=1;j<=i;j++){   //打印空格
                System.out.print(" ");
            }
            for(int k=1;k<=5-2*i;k++){   //打印*号
                System.out.print("*");
            }
            System.out.println();  //在每个最外层for循环结束时执行换行操作
        }

所有代码如下:
 //For循环打印菱形
public class For菱形 {
    public static void main(String[] args) {
        for (int i = 1; i <= 3; i++) {   //打印行数
            for (int j=1;j<=3-i;j++){    //打印空格
                System.out.print(" ");
            }
            for(int k=1;k<=2*i-1;k++){   //打印*号
                System.out.print("*");
            }
            System.out.println();  //在最后执行换行操作
        }
        for (int i = 1; i <= 2; i++) { //打印行
            for(int j=1;j<=i;j++){   //打印空格
                System.out.print(" ");
            }
            for(int k=1;k<=5-2*i;k++){   //打印*号
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

输出结果:

java用for循环嵌套打印出一个菱形(思路分析加代码)_第2张图片
打印菱形,主要是为了加强对for循环嵌套的使用,在用代码执行之前,首先需要在脑子里形成一个比较清晰的思路,第一步干什么,第二部干什么,需不需要分步骤完成,如果对上述思路还有不清楚了,可以用debug进行调试

debug调试:先在main方法入口设置断点,然后调试
java用for循环嵌套打印出一个菱形(思路分析加代码)_第3张图片

java用for循环嵌套打印出一个菱形(思路分析加代码)_第4张图片
我们先选择console控制台,然后选择箭头所指处下一步,程序就会按照步骤,从主方法进去开始执行,大家可以详细的看到程序的执行步骤,有助于对for循环嵌套有一个清晰的了解
java用for循环嵌套打印出一个菱形(思路分析加代码)_第5张图片

你可能感兴趣的:(java,for循环)