我将尝试在Java中打印一个金字塔,它看起来类似于这样:
我在互联网上寻找解决方法时偶然发现了这个:
9
8 9 8
7 8 9 8 7
6 7 8 9 8 7 6
5 6 7 8 9 8 7 6 5
4 5 6 7 8 9 8 7 6 5 4
3 4 5 6 7 8 9 8 7 6 5 4 3
2 3 4 5 6 7 8 9 8 7 6 5 4 3 2
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
我在互联网上寻找解决方法时偶然发现了这个:
class Pyramid {
public static void main(String[] args) {
int x = 7;
for (int i = 1; i <= x; i++) {
for (int j = 1; j <= x - i; j++)
System.out.print(" ");
for (int k = i; k >= 1; k--)
System.out.print((k >= 10) ? +k : " " + k);
for (int k = 2; k <= i; k++)
System.out.print((k >= 10) ? +k : " " + k);
System.out.println();
}
}
}
请问有人能帮我理解这个吗? 以下是我已经理解的内容: 外层循环从1到7递增,同时内层循环j从1到x-i递增,对于外层循环第一次迭代而言,x-i为6,然后依次为5、4等等。因此,金字塔的左侧只是一个倒置的空白三角形。
我无法理解另外两个嵌套循环以及print语句中奇怪的if-else部分。