Java列印實心菱形,空心菱形

2021-08-21 11:27:07 字數 2200 閱讀 3396

我們用*號來填充菱形

首先,要想列印出菱形,我們先要對菱形有點認知,首先,菱形是四邊相等的圖形,只要四邊相等,就是菱形,我們這裡只說明豎著列印實心菱形和空心菱形。

實心菱形:

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...