java用for循環嵌套打印出一個菱形(思路分析加代碼)

用java打印菱形

思路:

首先我們需要先分析整體結構

在這裏插入圖片描述

想要打印菱形,我們可以分爲兩個部分,即看成兩個三角形,上面是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();
        }
    }
}

輸出結果:

在這裏插入圖片描述
打印菱形,主要是爲了加強對for循環嵌套的使用,在用代碼執行之前,首先需要在腦子裏形成一個比較清晰的思路,第一步幹什麼,第二部幹什麼,需不需要分步驟完成,如果對上述思路還有不清楚了,可以用debug進行調試

debug調試:先在main方法入口設置斷點,然後調試
在這裏插入圖片描述

在這裏插入圖片描述
我們先選擇console控制檯,然後選擇箭頭所指處下一步,程序就會按照步驟,從主方法進去開始執行,大家可以詳細的看到程序的執行步驟,有助於對for循環嵌套有一個清晰的瞭解
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章