这是家庭作业,我需要帮助理解如何以及为什么。
我尝试遵循网上的大量示例,但它们都硬编码“A”作为起点,并且我无法根据我的特定需求对示例进行逆向工程。
我必须打印以用户输入开始的字母金字塔(也定义了金字塔的高度),假设用户输入了 E,如下所示:
E
ED
EDC
EDCB
EDCBA
我的第一个问题是我不明白如何让用户输入的字母成为每行的起点。
这是 Java,我不能使用数组或字符串,只能使用 char 和 int。
有人可以解释一下实现这一目标的逻辑吗?
这是我的第一步,这是我知道我可以实现的目标:
intHeight = chrUserLetter - 'A' + 1;
chrCurrentLetter = chrUserLetter;
for ( intRowIndex = 1; intRowIndex <= intHeight; intRowIndex += 1 )
{
for ( intColumnIndex = 1; intColumnIndex <= intRowIndex; intColumnIndex += 1)
{
System.out.print( chrCurrentLetter );
chrCurrentLetter -= 1;
}
System.out.println();
}
输出是:
E
DC
BA@
?>=<
;:987
最佳答案
只需移动第一个 for 中的行 chrCurrentLetter = chrUserLetter;
即可重新初始化它
public class Test {
public static void main(String[] args) {
char chrUserLetter='E';
int intHeight = chrUserLetter - 'A' + 1;
for ( int intRowIndex = 1; intRowIndex <= intHeight; intRowIndex += 1 )
{
char chrCurrentLetter = chrUserLetter;
for (int intColumnIndex = 1; intColumnIndex <= intRowIndex; intColumnIndex += 1)
{
System.out.print( chrCurrentLetter );
chrCurrentLetter -= 1;
}
System.out.println();
}
}
}
关于java - 如何打印从用户输入开始并降序排列的字母金字塔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44072958/