【发布时间】:2017-01-06 12:45:08
【问题描述】:
如何生成对角线数组:
第一个元素arr[0][0] 是随机的,下一个对角线元素是随机的但高于前一个元素但不高于10,
示例:
8 0 0 0
0 10 0 0
0 0 13 0
0 0 0 17
int lengthArray = scan.nextInt();
int[][] array = new int[lengthArray][lengthArray];
array[0][0] = rnd.nextInt(7) + 4;
for (int i = 1; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
// generate number diagonal
array[i][i] = rnd.nextInt(
(((array[i - 1][i - 1] + 10) - (array[i - 1][i - 1] + 1) + 1)) + (array[i - 1][i - 1] + 1));
}
}
我不知道我做错了什么。
【问题讨论】:
-
您声称它们不能高于 10,但在您的示例中,您显示的值高于 10。您的意思是 difference 不能高于 10?
-
明确您的问题。你的例子和问题是完全互补的
-
第二个 for 循环在做什么?你永远不会使用
j -
如果我错了,请纠正我,但
(((array[i - 1][i - 1] + 10) - (array[i - 1][i - 1] + 1) + 1)) + (array[i - 1][i - 1] + 1));=array[i - 1][i - 1] + 13括号对+ -无用 -
数组[0][0] = 8;数组[1][1] = (示例 17);数组[2][2] = ...