当前,我的程序正在输出以下内容:
p
r r
o o o
g g g g
r r r r r
a a a a a a
m m m m m m m
我希望它输出:
pp
r r
o o
g g
r r
a a
m m
我不确定要这样做。我已经进行了一段时间的研究,似乎无法首先使它在开头具有双倍的“ p”,然后我不确定如何在这些字母之间创建空格,例如真正的输出看起来像。请帮忙。
这是我当前的代码:
String output = "";
String str = "program";
int length = str.length();
for (int i=0 ; i<length; i++)
{
for (int k=length-1; k>i; k--)
{
System.out.print(" ");
}
for (int j=0; j<=i; j++)
{
System.out.print(" ");
System.out.print(str.charAt(i));
}
System.out.println();
}
谢谢!
答案 0 :(得分:2)
您遇到的两个问题是内部循环中的问题:
for (int j=0; j<=i; j++)
{
System.out.print(" ");
System.out.print(str.charAt(i));
}
您没有打印足够的空格(应该为j < i * 2
),并且您不想在循环的每次迭代中都打印str.charAt(i)
。仅在之前和之后:
String output = "";
String str = "program";
int length = str.length();
for (int i=0 ; i<length; i++)
{
for (int k=length-1; k>i; k--)
{
System.out.print(" ");
}
System.out.print(str.charAt(i));
for (int j=0; j< i*2; j++)
{
System.out.print(" ");
}
System.out.print(str.charAt(i));
System.out.println();
}
输出:
pp
r r
o o
g g
r r
a a
m m