JAVA小程式-列印金字塔形五角星
阿新 • • 發佈:2018-10-31
通過JAVA程式碼打印出如下圖形
*
* *
* * *
* * * *
* * * * *
第一步:先通過最笨的法子 實現上述金字塔形狀
System.out.println(" * "); System.out.println(" * * "); System.out.println(" * * * "); System.out.println(" * * * * "); System.out.println(" * * * * * ");
通過上述程式碼即可實現,但顯示不是我們要的程式碼;
第二步:我們逐步程式化一些步驟,如下:
System.out.println(" * "); System.out.println(" * * "); System.out.println(" * * * "); System.out.println(" * * * * "); //System.out.println(" * * * * * "); for (int i = 0; i < 5; i++) System.out.print(" "); for (int i = 0; i < 5; i++) System.out.print("* "); System.out.println();
根據最後一行的空格及星號的規律 我們可以把最後一行的程式碼做如上變動,執行結果發現跟目標是一致的
第三步:同上原理 我們繼續,程式碼如下:
System.out.println(" * "); System.out.println(" * * "); System.out.println(" * * * "); //System.out.println(" * * * * "); for (int i = 0; i < 6; i++) System.out.print(" "); for (int i = 0; i < 4; i++) System.out.print("* "); System.out.println(); //System.out.println(" * * * * * "); for (int i = 0; i < 5; i++) System.out.print(" "); for (int i = 0; i < 5; i++) System.out.print("* "); System.out.println();
執行程式碼 結果還是符合目標的
第四步: 根據如上規律 我們大致可以想到 程式碼的總邏輯大致如下:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < M; j++) {
System.out.print(" ");
}
for (int k = 0; k < N; k++) {
System.out.print("* ");
}
System.out.println();
}
只不過程式碼裡面的 M、N 需要待定,我們接著找規律可以發現
// i : 0 1 2 3 4
// M : 9 8 7 6 5 M=9-i
// N : 1 2 3 4 5 N=i+1
應該不難發現上述的規律;
至此,我們的程式碼應該就可以出來了
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 9-i; j++) {
System.out.print(" ");
}
for (int k = 0; k < i+1; k++) {
System.out.print("* ");
}
System.out.println();
}
類似的 如果想要打印出來如下圖形呢:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
下面給出參考過程程式碼
// i 0 1 2 3 4 5
// j 8 7 6 5 4 3
// k 0 1 2 3 4 5
// l 0 1 2 3
for (int i = 1; i <= 5; i++) {
for (int j = 0; j < 8-i; j++) System.out.print(" ");
for (int k = 0; k < i; k++) System.out.print((char)('A'+k));
for (int l = i-2; l >= 0; l--) System.out.print((char)('A'+l));
System.out.println();
}
// for (int i = 0; i < 4; i++) System.out.print(" ");
// for (int i = 0; i < 4; i++) System.out.print((char)('A'+i));
// for (int i = 3-1; i >= 0; i--) System.out.print((char)('A'+i));
// System.out.println();
//
//
// for (int i = 0; i < 3; i++) System.out.print(" ");
// for (int i = 0; i < 5; i++) System.out.print((char)('A'+i));
// for (int i = 4-1; i >= 0; i--) System.out.print((char)('A'+i));
// System.out.println();
動手試試吧!
至此結束!謝謝!!