采用多重循环
1.先计算行前空格
2.在计算本行该打印几个*
3.计算本行中间空格
package chapter1;
public class Lingxing {
public static void main(String[] args) {
int a=10;
for(int i=1;i<=a;i++) {
for(int j=1;j<=a-i;j++) { //打印行前空格a-i个
System.out.print(" ");
}
for(int k = 1;k <= 2*i - 1; k++) { //应打印多少个*
if(k == 1||k == 2*i-1) {
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println("");
}
for(int x = a-1; x >= 1 ; x--) {//行后空格
for(int i = 1; i <= a-x;i++ ) {
System.out.print(" ");
}
for(int c = 1; c <= 2*x-1; c++) {
if(c == 1 || c == 2*x-1) {
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println("");
}
}
}