* *
*** * *
***** * *
*** * *
* *
* *
*** * *
***** * *
*** * *
* *
稍等一下~占位(=@__@=)
空心菱形
public static void main(String[] args) { int i, j, k = 1; int hang = 9; int hang1 = hang / 2 + 1; for (i = 1; i != 0; i += k) {//第一次循环 i=1;第二次循环 i=2; if (i > hang / 2) { k = -1; } ////第一次循环5次,打印第一行,打印四个空格,打印一个*;第二次循环6次,打印第二行,打印三个空格,打印三个*; for (j = 1; j <= (hang1 + i - 1); j++) {//第一次循环 值为5;第二次循环值为6 if (j < (hang1 - i + 1)) {//第一次循环 值为5,打印第一行四个空格;第二次循环 值为4,打印第二行,打印三个空格,打印三个*; System.out.print(" ");//打印空格 } else { System.out.print("*");//打印一个* } } System.out.println("");//换行 }
实心菱形:
public void lingXing() // * 1 { // * * 2 int temp=4; //temp为*的总长度 // * * * 3 //* * * * 4 temp for(int i=1;i<=7;i++) // * * * 5 { // * * 6 int a=0; // * 7 //这个循环主要打印空格" " temp=i<=4?4:temp+2; //当i>=5的时候程序将总长度temp+=2 for(;a<temp-i;a++) //i=5时 temp-i=6-5=1 { System.out.print (" ");
} a=i<=4?a:(temp-i)*3; //当i<=4时 将a的值还给a 当i>=5时 将temp-i*3 6-5*3=3; //这个循环主要打印* for(int b=0;b<temp-a;b++) { System.out.print ("* "); } System.out.println ();
} } }
希望对你有帮助!