# Java 程序：创建金字塔和图案

> 原文： [https://www.programiz.com/java-programming/examples/pyramid-pattern](https://www.programiz.com/java-programming/examples/pyramid-pattern)

#### 在此程序中，您将学习如何在 Java 中创建金字塔，半金字塔，倒金字塔，Pascal 三角形和 Floyd 三角形的控制语句。

源代码清单：

+   [使用`*`，数字和字符打印三角形的代码](#triangle)
+   [使用`*`和数字打印倒三角形的代码](#inverted-triangle)
+   [打印完整金字塔的代码](#pyramid)
+   [打印帕斯卡三角形的代码](#pascal-triangle)
+   [打印弗洛伊德三角形的代码](#floyd-triangle)

## 使用`*`，数字和字符打印三角形的程序

* * *

### 示例 1：使用`*`打印半金字塔的程序

```java
*
* *
* * *
* * * *
* * * * *
```

**源代码**

```java
public class Pattern {

    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：使用数字打印半金字塔的程序

```java
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
```

**源代码**

```java
public class Pattern {

    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(j + " ");
            }
            System.out.println();
        }
    }
} 
```

* * *

### 示例 3：使用字母打印半金字塔的程序

```java
A
B B
C C C
D D D D
E E E E E
```

**源代码**

```java
public class Pattern {

    public static void main(String[] args) {
        char last = 'E', alphabet = 'A';

        for(int i = 1; i <= (last-'A'+1); ++i) {
            for(int j = 1; j <= i; ++j) {
                System.out.print(alphabet + " ");
            }
            ++alphabet;

            System.out.println();
        }
    }
}
```

## 使用`*`和数字打印倒置半金字塔的程序

* * *

### 示例 4：使用`*`打印倒置半金字塔

```java
* * * * *
* * * *
* * * 
* *
*
```

**源代码**

```java
public class Pattern {

    public static void main(String[] args) {
        int rows = 5;

        for(int i = rows; i >= 1; --i) {
            for(int j = 1; j <= i; ++j) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}
```

* * *

### 示例 5：使用数字打印倒置半金字塔

```java
1 2 3 4 5
1 2 3 4 
1 2 3
1 2
1
```

**源代码**

```java
public class Pattern {

    public static void main(String[] args) {
        int rows = 5;

        for(int i = rows; i >= 1; --i) {
            for(int j = 1; j <= i; ++j) { system.out.print(j + " "); } system.out.println(); }< code>=>
```

## 使用`*`和数字显示金字塔和倒金字塔的程序

* * *

### 示例 6：使用`*`打印完整金字塔的程序

```java
 *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *
```

**源代码**

```java
public class Pattern {

    public static void main(String[] args) {
        int rows = 5, k = 0;

        for(int i = 1; i <= rows; ++i, k="0)" { for(int space="1;" <="rows" - i; ++space) system.out.print(" "); } while(k !="2" * i 1) system.out.print("* ++k; system.out.println(); code>=>
```

* * *

### 示例 7：使用数字打印金字塔的程序

```java
 1
      2 3 2
    3 4 5 4 3
  4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5
```

**源代码**

```java
public class Pattern {

    public static void main(String[] args) {
        int rows = 5, k = 0, count = 0, count1 = 0;

        for(int i = 1; i <= 2 rows; ++i) { for(int space="1;" <="rows" - i; ++space) system.out.print(" "); ++count; } while(k !="2" * i 1) if (count system.out.print((i + k) " else ++count1; k count1) ++k; count1="count" = system.out.println(); code>=>
```

* * *

### 示例 8：使用`*`打印倒置完整金字塔

```java
 * * * * * * * * *
  * * * * * * *
    * * * * *
      * * *
        *
```

**源代码**

```java
public class Pattern {

    public static void main(String[] args) {
        int rows = 5;

        for(int i = rows; i >= 1; --i) {
            for(int space = 1; space <= rows - i; ++space) { system.out.print(" "); } for(int j="i;" <="2" * i 1; ++j) system.out.print("* system.out.println(); }< code>=>
```

* * *

### 示例 9：打印帕斯卡三角形

```java
 1
         1   1
       1   2   1
     1   3   3    1
   1   4   6   4   1
 1   5   10   10  5   1
```

**源代码**

```java
public class Pattern {

    public static void main(String[] args) {
        int rows = 6, coef = 1;

        for(int i = 0; i < rows; i++) {
            for(int space = 1; space < rows - i; ++space) {
                System.out.print("  ");
            }

            for(int j = 0; j <= 0 i; j++) { if (j="=" || i="=" 0) coef="1;" else * (i - j + 1) j; system.out.printf("%4d", coef); } system.out.println(); }< code>=>
```

* * *

### 示例 10：打印弗洛伊德三角形

```java
1
2 3
4 5 6
7 8 9 10
```

**源代码**

```java
public class Pattern {

    public static void main(String[] args) {
        int rows = 4, number = 1;

        for(int i = 1; i <= rows; i++) { for(int j="1;" <="i;" j++) system.out.print(number + " "); ++number; } system.out.println(); }< code>=>
```