java二维数组任务,我无法解决
最近我开始学习二维阵列,最近我遇到了这些任务,它们会给你10 x 10阵列的图像,你必须重新创建它。我完成了一些任务,但有一项任务给了我一个问题。似乎我真的很接近,但同时不是。我已经试了一段时间了,但是我找不到需要的答案
public static void main(String[] args) {
int A[][] = new int [10][10];
for (int i = 0; i <= 9; i++) {
for (int j=9-i, n=1; j>=1; j--) {
if (j <= 9) {
A[i][j] = n++;
}
}
}
for (int i=0; i<10; i++) {
for (int j=0; j<10; j++) {
System.out.print(A[i][j]+"\t");
}
System.out.println();
}
}
}
谢谢你的帮助
# 1 楼答案
这是另一个版本。它从下到上填充阵列
k
开始填充数组,每次循环迭代将其减少i
李>印刷品
# 2 楼答案
所需的模式与主对角线对称,即对于一对od索引
i
和j
。这些单元格应具有相同的内容:a[i][j] = a[j][i]
接下来,当迭代时,主对角线上的元素的开始数减少了2:9、7、5、3、1,嵌套循环的“宽度”从两侧开始减少
因此,生成的代码可能如下所示:
输出: