Java程式建立金字塔和圖案
如果有人想在Java程式語言方面建立堅實的基礎。那麼,瞭解迴圈的工作原理是必要的。此外,解決金字塔圖案問題是增強Java基礎知識的最佳方法,因為它包含了廣泛的用途:
本文旨在提供一些Java程式,利用Java中提供的不同型別的迴圈來列印金字塔圖案。
建立金字塔圖案的Java程式
我們將透過Java程式列印以下金字塔圖案:
讓我們逐一討論它們。
圖案1:半星形金字塔

以下是列印半星形金字塔的步驟:
- 程式定義了一個包含main方法的Pyramid1類。
- 在main方法內部,一個整數rows初始化為5,表示行數。
- 一個for迴圈從i = 1執行到i <= rows,控制行數。
- 在外迴圈內部,另一個for迴圈從j = 1執行到j <= i,在每一行列印*,基於當前的行號。
- 在每一行列印星號後,列印一個換行符。
- 該過程重複進行,直到金字塔以每一行遞增的星號打印出來。
示例
public class Pyramid1 {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; ++i) {
for (int j = 1; j <= i; ++j) {
System.out.print("* ");
}
System.out.println();
}
}
}
輸出
* * * * * * * * * * * * * * *
圖案2:倒置半星形金字塔

以下是列印倒置半星形金字塔的步驟:
- 程式定義了一個包含main方法的Pyramid2類。
- 在main方法內部,一個整數rows初始化為6,表示行數。
- 一個for迴圈從i = rows(從6開始)遞減到i >= 1,以相反的順序控制行數。
- 在外迴圈內部,第二個for迴圈從j = 1執行到j <= i,根據i的當前值列印*。
- 在每一行列印星號後,列印一個換行符。
- 該過程繼續進行,每一行列印的星號數量減少,直到圖案完成。
示例
public class Pyramid2 {
public static void main(String[] args) {
int rows = 6;
for (int i = rows; i >= 1; --i) {
for (int j = 1; j <= i; ++j) {
System.out.print("* ");
}
System.out.println();
}
}
}
輸出
* * * * * *
* * * * *
* * * *
* * *
* *
*
圖案3:星形金字塔

以下是列印星形金字塔的步驟:
-
宣告並初始化一個整數'n',它指定行數。
-
建立一個巢狀的for迴圈,外迴圈將執行到'n',內迴圈將執行到空格數並列印空格。列印後,我們將空格計數減1。
-
再次使用另一個內迴圈,它將執行到星數並列印星號。列印後,我們將星數加2。
示例
public class Pyramid3 {
public static void main(String[] args) {
int n = 5; // number of rows
int spc = n-1; // initial space count
int str = 1; // initial star count
// loop to print the pyramid
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= spc; j++) { // spaces
System.out.print("\t");
}
spc--; // decrementing spaces
for(int k = 1; k <= str; k++) { // stars
System.out.print("*\t");
}
str += 2; // incrementing stars
System.out.println();
}
}
}
輸出
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
圖案4:倒置星形金字塔

以下是列印倒置星形金字塔的步驟:
- 宣告並初始化一個整數'n',它指定行數。
- 接下來,將空格的初始計數定義為0,星號的初始計數定義為'n + n – 1',以便我們可以將列數保持為奇數。
- 建立一個巢狀的for迴圈,外迴圈將執行到'n',第一個內迴圈將列印空格。列印後,我們將每次迭代的空格計數加1。
- 再次使用另一個內迴圈來列印星號。列印後,我們將星數減2。
示例
public class Pyramid4 {
public static void main(String[] args) {
int n = 5;
int spc = 0; // initial space count
int str = n + n - 1; // initial star count
// loop to print the star pyramid
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= spc; j++) { // spaces
System.out.print("\t");
}
spc++; // incrementing spaces
for(int k = 1; k <= str; k++) { // stars
System.out.print("*\t");
}
str -= 2; // decrementing stars
System.out.println();
}
}
}
輸出
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
圖案5:數字金字塔

我們將在這裡使用之前的程式碼,但是我們將列印列號而不是星號。
- 首先,我們將定義一個包含main方法的Pyramid5類。
- 在main方法內部,初始化三個變數:n = 5,spc = n-1和col = 1。
- 一個for迴圈從i = 1執行到i <= n以控制行數。
- 在迴圈內部,第二個for迴圈從j = 1執行到j <= spc以列印空格。
- 在空格迴圈之後,spc遞減1。
- 另一個for迴圈從k = 1執行到k <= col以列印數字。
- 在數字迴圈之後,col遞增2,並列印一個換行符。
- 該過程持續進行,直到打印出具有遞增數字和遞減空格的金字塔圖案。
示例
public class Pyramid5 {
public static void main(String[] args) {
int n = 5; // number of rows
int spc = n-1; // initial space count
int col = 1; // initial column count
// loop to print the pyramid
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= spc; j++) { // spaces
System.out.print("\t");
}
spc--; // decrementing spaces
for(int k = 1; k <= col; k++) { // numbers
System.out.print(k + "\t");
}
col += 2; // incrementing the column
System.out.println();
}
}
}
輸出
1
1 2 3
1 2 3 4 5
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8 9
結論
在本文中,我們討論了五個用於列印金字塔圖案的Java程式。這些圖案解決方案將幫助我們解碼圖案問題的邏輯,並使我們能夠獨立解決其他圖案。為了解決像這樣的圖案,我們使用迴圈和條件塊。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP