public static void printPyramid(int n){
for(int i = 1 ; i <= n; i++){
for(int j = i; j < n;j++){
System.out.print(" ");
}
for(int j = i; j>=1;j--){
System.out.print(j + " ");
}
for(int j = 2; j<=i;j++){
System.out.print(j + " ");
}
System.out.println();
}
}
n = 1,2,3,及偶数时会有些问题
int count = 8;
for (int i = 0; i < count; i++) {
for (int x = 0; x < count - i; x++) {
System.out.print(" ");
}
for (int j = i; j > 0 ; j--) {
System.out.print(j + " ");
}
for (int z = 1; z < i ; z++) {
System.out.print(z + 1 + " ");
}
System.out.println();
}
总结规律,
输入数字 7
第一行:12个空格,1个数字,1
第二行:10个空格,3个数字,212,中间有空格
第三行:8个空格,5个数字,32123,中间有空格
...
第七行:0个空格,13个数字,7654321234567,中间有空格
规律:逐行打印,输入7,则共打印7(总行数,max)行,加设当前打印到第n行,那么:
先打印 (max-1)*2 - 2 * n 个空格
判断 n
如果 n == 1,打印1换行
否则
循环 i 从 n 到 1,打印 i + " "
再循环 i 从 2 到 n, 打印 i + " "
结束
for (int i = 1;i<=num;i++){
for (int j = num-i;j>0;j--){
//制表这样就不会乱了
System.out.print("\t");
}
for (int j = i;j>0;j--){
System.out.print(j+"\t");
}
for (int j = 2;j<=i;j++){
System.out.print(j+"\t");
}
System.out.println();
}