用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循環嵌套有一個清晰的瞭解