java生成金字塔以显示模块10中的数字
我试图生成的金字塔从数字1(1)开始,在每一行中,第一个数字决定了行数。此外,行中的第一个数字还确定了该顺序中的数字数量(根据模块10)。根据模块10,我们通过将左边的数字和上面的数字相加来计算一行中的所有其他数字
int n = 12;
int i, j;
for (i = 1; i <= n; i++) {
for (j = 0; j <= i; j++) {
int module = i % 10;
System.out.print(module + " ");
}
System.out.println();
}
}
通过我的实现,我得到了
1 1
2 2 2
3 3 3 3
4 4 4 4 4
5 5 5 5 5 5
6 6 6 6 6 6 6
7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 9
0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2 2
实际结果应该是
1
2 3
3 5 8
4 7 2 0
5 9 6 8 8
6 1 0 6 4 2
7 3 4 4 0 4 6
8 5 8 2 6 6 0 6
9 7 2 0 2 8 4 4 0
0 9 6 8 8 0 8 2 6 6
1 1 0 6 4 2 2 0 2 8 4
2 3 4 4 0 4 6 8 8 0 8 2
我错过了什么
# 1 楼答案
您需要存储结果,以便使用它打印下一行
# 2 楼答案
首先,编写一个助手方法来计算要显示的数字。此方法将行索引和列索引或行号和列号作为参数,以您更熟悉的方式为准。假设我们对行和列使用基于0的索引,我们可以为该方法定义以下值:
助手方法如下所示:
您可以在已有的简单两个
for
循环中使用这个helper方法这将为您提供预期的输出: