跳到主要内容

Java代码创建金字塔和图案

要理解这个示例,你应该具备以下 Java 编程主题的知识:

源代码列表
打印三角形的代码,使用 *、数字和字符
打印倒三角形的代码,使用 * 和数字
打印完整金字塔的代码
打印帕斯卡三角形的代码
打印弗洛伊德三角形的代码

使用 *、数字和字符打印三角形的程序

示例 1:使用 * 打印半金字塔的程序

*
* *
* * *
* * * *
* * * * *

源代码

public class Main {

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

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

源代码

public class Main {

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

A
B B
C C C
D D D D
E E E E E

源代码

public class Main {

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:使用 * 打印倒半金字塔的程序

* * * * *
* * * *
* * *
* *
*

源代码

public class Main {

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

1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

源代码

public class Main {

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();
}
}
}

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

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

        *
* * *
* * * * *
* * * * * * *
* * * * * * * * *

源代码

public class Main {

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

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

while (k != 2 * i - 1) {
System.out.print("* ");
++k;
}

System.out.println();
}
}
}

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


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

源代码

public class Main {

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

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

while (k != 2 * i - 1) {
if (count <= rows - 1) {
System.out.print((i + k) + " ");
++count;
} else {
++count1;
System.out.print((i + k - 2 * count1) + " ");
}

++k;
}
count1 = count = k = 0;

System.out.println();
}
}
}
```### 示例 8:使用 \* 打印倒完整金字塔

```java

* * * * * * * * *
* * * * * * *
* * * * *
* * *
*

源代码

public class Main {

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; j <= 2 * i - 1; ++j) {
System.out.print("* ");
}

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

System.out.println();
}
}
}

示例 9:打印帕斯卡三角形

           1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

源代码

public class Main {

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 <= i; j++) {
if (j == 0 || i == 0)
coef = 1;
else
coef = coef * (i - j + 1) / j;

System.out.printf("%4d", coef);
}

System.out.println();
}
}
}

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

1
2 3
4 5 6
7 8 9 10

源代码

public class Main {

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

for(int i = 1; i <= rows; i++) {

for(int j = 1; j <= i; j++) {
System.out.print(number + " ");
++number;
}

System.out.println();
}
}
}