我們用*號來填充菱形
首先,要想列印出菱形,我們先要對菱形有點認知,首先,菱形是四邊相等的圖形,只要四邊相等,就是菱形,我們這裡只說明豎著列印實心菱形和空心菱形。
實心菱形:
public static void printhollowrhombus(int size)
//為了區分,我們把i當成當前正在列印的行數
//我們來找一下行數和需要列印*號數量和開頭空格的數量的規律
//假如當前為11行,我們先來分析上半部分:
// 行數 *號數量 空格數量 列印圖形
// 1 1 5 *
// 2 3 4 ***
// 3 5 3 *****
// 4 7 2 *******
// 5 9 1 *********
// 6 11 0 ***********
//由此我們可得
//*號數量 = 2*(行數-1) + 1
//空格數量 = (總行數+1)/2 - 行數
//此處i代表的是第幾行。
for(int i = 1 ; i <= (size+1)/2 ; i++)
//列印*號,j相當於*號的數量
for(int j = 0 ; j < 2*(i-1)+1 ; j++)
//列印完成換行
system.out.println();
}//我們來找一下行數和需要列印*號數量和開頭空格的數量的規律
//假如當前為11行,我們來分析下半部分:
// 行數 *號數量 空格數量 列印圖形
// 7 9 1 *********
// 8 7 2 *******
// 9 5 3 *****
// 10 3 4 ***
// 11 1 5 *
//由此我們可得
//*號數量 = 2*總行數+1-2*行數
//空格數量 = 行數 - 6
//記錄一下中間行數 當前為第6行。
int x2 = (size+1)/2+1;
//此處i代表的是第幾行。
for(int i = x2 ; i <= size ; i++)
//列印*號,j相當於*號的數量
for(int j = 0 ;j<2*size+1-2*i;j++)
//列印換行
system.out.println();
}}
我們呼叫此方法,傳入11,結果如下:
*
********
*******
*********
***********
*********
*******
*****
****
空心菱形,道理上面都講過了,原理上是一樣的,只是在列印的*的時候我們只需要在第乙個和最後乙個列印*,其餘的列印空格,**如下,請參考:
public static void printsolidrhombus(int size)
for(int i = 1 ; i <= (size+1)/2 ; i++)
for(int j = 0 ; j < 2*(i-1)+1 ; j++) else
} system.out.println();
} int x2 = (size+1)/2+1;
for(int i = x2 ; i <= size ; i++)
for(int j = 0 ;j<2*size+1-2*i;j++) else
} system.out.println();
}}
同樣為他輸出11,結果為:
*
* ** *
* *
* *
* *
* *
* *
* *
* **
Java列印菱形與空心菱形
列印菱形尤其是空心菱形對於初學者來說有一定難度,熟練掌握了for迴圈後,還是可以列印出來的 分析 1.先列印上半部分,再列印下半部分 2.找準空格與星號之間的關係,然後再列印 3.上半部分每一行數目分別為 1 3 5 7 9 7 5 3 1 4.找準關係 2 i 1 練習二 列印菱形與空心菱形 列印...
列印空心菱形
public class demo03 for int k 1 k 2 i 1 k k表示每行要列印的 號 else system.out.print 如果要列印的 不是第乙個或最後乙個則列印空格 system.out.println 以上列印出來的是空心菱形的上半部分 for int i 1 i ...
Java基礎 列印空心菱形
列印乙個9層的空心菱形 public class kongxinlingxing i 是 0 1 2 3 4 星號規律是,包括兩個星號在內佔位為2 i 1 1 3 5 7 9 除了第乙個和最後乙個打星號,其他列印空格 for int k 1 k 2 i 1 k else if k 2 i 1 els...