java金字塔代码

以下是一个简单的Java代码示例,用于打印一个字符金字塔:

java复制代码
import java.util.Scanner;
public class Pyramid {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入金字塔的层数: ");
int n = scanner.nextInt();
for (int i = 1; i <= n; i++) {
// 打印空格
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
// 打印星号
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
// 每打印完一行后换行
System.out.println();
}
scanner.close();
}
}

这个代码首先提示用户输入金字塔的层数,然后使用一个双重循环来打印金字塔。外层循环控制行数,内层循环分别控制空格和星号的打印。对于每一行,首先打印一定数量的空格,然后打印一定数量的星号,最后换行。空格的数量随着行数的增加而减少,而星号的数量则随着行数的增加而增加,从而形成了金字塔的形状。

如果您希望创建一个数字金字塔,其中每一行的数字按照递增的顺序排列,并且每一行的数字个数与行数相同,那么可以使用以下Java代码:

java复制代码
import java.util.Scanner;
public class NumberPyramid {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入金字塔的层数: ");
int n = scanner.nextInt();
for (int i = 1; i <= n; i++) {
// 打印空格
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
// 打印数字
for (int k = 1; k <= i; k++) {
System.out.print(k + " ");
}
// 每打印完一行后换行
System.out.println();
}
scanner.close();
}
}

在这个示例中,我们仍然使用双重循环来打印金字塔。外层循环控制行数,内层循环的第一个循环打印空格,第二个循环打印数字。数字从1开始递增,每行的数字个数与行数相同。

如果您想要一个右侧对齐的数字金字塔,那么您需要在打印数字之前先打印出相应数量的空格,使得数字在右侧对齐。下面是一个示例代码:

java复制代码
import java.util.Scanner;
public class RightAlignedNumberPyramid {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入金字塔的层数: ");
int n = scanner.nextInt();
for (int i = 1; i <= n; i++) {
// 打印空格,使得数字在右侧对齐
for (int j = 1; j <= (n - i) * 2; j++) {
System.out.print(" ");
}
// 打印数字
for (int k = 1; k <= i; k++) {
System.out.print(k + " ");
}
// 每打印完一行后换行
System.out.println();
}
scanner.close();
}
}

在这个代码中,我们修改了打印空格的循环,使得每一行的空格数是(n - i) * 2,这样数字就会从每一行的中间开始打印,并且随着行数的增加,空格数减少,数字逐渐向右移动,最终形成一个右侧对齐的数字金字塔。