作者:徐青乔府_631 | 来源:互联网 | 2024-12-13 12:08
本文介绍如何使用Java编程语言,根据用户输入的大写英文字母,构建并输出一个空心的字母金字塔。金字塔的第一层字母“A”位于第一行的第40列,列编号从1开始计算。示例输入为'E'。
本文将指导您通过Java编程来实现一个功能,即根据用户提供的一个大写英文字母,生成相应的空心字母金字塔。具体来说,该金字塔的第一层字母“A”将精确地出现在第一行的第40列,列的计数从1开始。
输入格式:
程序接收一个大写英文字母作为输入。
输出格式:
输出为一个空心的大写英文字母金字塔,其中最顶层的“A”位于第一行的第40列。
例如,如果输入字母“E”,则输出如下所示:

以下是实现这一功能的Java代码示例:
import java.util.Scanner;
public class PyramidGenerator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
char inputChar = scanner.nextLine().charAt(0);
generateHollowPyramid(inputChar);
}
public static void generateHollowPyramid(char endChar) {
for (char rowChar = 'A'; rowChar <= endChar; rowChar++) {
// 打印前导空格
for (int space = 0; space <40 - (rowChar - 'A'); space++) {
System.out.print(' ');
}
// 打印当前行的字符
System.out.print(rowChar);
if (rowChar > 'A') {
// 打印中间空格
for (int innerSpace = 0; innerSpace <2 * (rowChar - 'A') - 3; innerSpace++) {
System.out.print(' ');
}
// 如果不是最后一行,则打印行末字符
if (rowChar System.out.print(rowChar);
}
}
// 如果是最后一行,填充整个行
if (rowChar == endChar) {
for (int fill = 0; fill <2 * (endChar - 'A') - 1; fill++) {
System.out.print(endChar);
}
}
System.out.println();
}
}
}