菱形的打印方式,通過確定中間行,確定奇數然後做的處理,
思路:上面部分通過確定打印數量爲奇數,然後採用公式計算出奇數來,下面因爲空格數量就是總行數減中間行數-1計算的,
這樣就可以計算出要打印的* 的數量
public class TestFile {
public static void main(String[] args) {
// TODO Auto-generated method stub
int line=9;//7行菱形,中間行爲7個*,上下都是3行,一共7行,必須是奇數
for(int i=0;i<line;i++){ //控制顯示行
//確定中間行;
int midline=(line-1)/2;
if(i==midline)
{
for(int j=0;j<line;j++){ //打印中間行
System.out.print("*");
}
System.out.println();
}
else
{
if(i<midline){ //打印上面的
printTopInfo((i+1),line);
}
else if(i>midline){ //打印下面的
printButtomInfo((i-midline),line);
}
}
}
}
//打印上面的
static void printTopInfo(int i,int count){
//奇數
int empnum=2*(i-1)+1;
for(int j=0;j<(count-empnum)/2;j++){ //打印前面
System.out.print(" ");
}
for(int j=0;j<empnum;j++){ //打印中間
System.out.print("*");
}
for(int j=0;j<(count-empnum)/2;j++){ //打印前面
System.out.print(" ");
}
System.out.println("");
}
//打印下面的
static void printButtomInfo(int i,int count){
for(int j=0;j<i;j++){ //打印前面
System.out.print(" ");
}
for(int j=0;j<(count-i*2);j++){ //打印中間
System.out.print("*");
}
for(int j=0;j<i;j++){ //打印前面
System.out.print(" ");
}
System.out.println("");
}
}