📅  最后修改于: 2023-12-03 15:02:03.995000             🧑  作者: Mango
在Java中,我们可以使用循环语句和相应的条件语句去创建各种各样的金字塔和图案。下面介绍一些常见的创建方法。
要创建一个直角三角形,我们可以使用嵌套的循环语句,外层循环控制行数,内层循环控制每行的星号数量。每一行的星号数量等于该行数。
Markdown代码块如下:
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();
}
要创建一个等腰三角形,我们需要得到每一行的空格数和星号数,因此我们需要用到数列的知识。每一行的星号数量等于该行数的2倍减1,每一行空格数量等于总行数减该行数。
Markdown代码块如下:
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("* ");
}
System.out.println();
}
要创建一个翻转的等腰三角形,我们可以类比于等腰三角形,只需要将每行星号的顺序翻转即可。
Markdown代码块如下:
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("* ");
}
System.out.println();
}
要创建一个实心菱形,我们可以类比于等腰三角形,只需要将每行星号的数量和空格的数量进行适当的调整即可。
Markdown代码块如下:
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i = n - 1; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
要创建一个空心菱形,我们需要在实心菱形的基础上去掉一些星号,以此来达到空心的效果。
Markdown代码块如下:
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
System.out.print("*");
for (int j = 1; j < 2 * i - 2; j++) {
System.out.print(" ");
}
if (i != 1) {
System.out.print("*");
}
System.out.println();
}
for (int i = n - 1; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
System.out.print("*");
for (int j = 1; j < 2 * i - 2; j++) {
System.out.print(" ");
}
if (i != 1) {
System.out.print("*");
}
System.out.println();
}