目前,我的程序输出如下:
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();
}
谢谢!
最佳答案
您遇到的两个问题是在内循环中:
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
关于java - 如何创建带有嵌套循环的半菱形形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53857104/