輸出如下數字圖形:
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
觀察圖形可發現:每行數字以當前行號為中心,左右對稱遞減再遞增。第 i 行(從 1 開始)包含從 i 遞減到 1,再遞增到 i 的數字。前面需補齊空格使圖形居中。
int n = 6; // 總行數
for (int i = 1; i <= n; i++) {
// 打印前導空格
for (int j = 0; j < n - i; j++) {
System.out.print(" ");
}
// 打印數字:從 -i 到 i,跳過 0 和 1,取絕對值
for (int k = -i; k <= i; k++) {
if (k == 0 || k == 1) continue;
System.out.print(" " + Math.abs(k));
}
System.out.println();
}
Math.abs() 和條件跳過,巧妙生成對稱數字序列。運行結果與預期圖形完全一致,邏輯清晰簡潔。