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
,这样数字就会从每一行的中间开始打印,并且随着行数的增加,空格数减少,数字逐渐向右移动,最终形成一个右侧对齐的数字金字塔。