[英]Creating a symmetrical 2D array
我一直在思考一些必須非常簡單的事情,因為我沒有看到它在任何地方都可以回答(或者我很不擅長搜索)。
我想創建一個對稱的2D數組,填充從1到100(含1和100)之間的隨機數...這是到目前為止的結果
int n = 3; int rangeOfWeights = 100;
double[][] array = new double[n][n];
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
array[i][j] = rand.nextInt((rangeOfWeights)+1);
}
}
目前,結果如下:
44 45 32
9 31 53
25 48 74
實際上我想要的結果是:
0 34 32
34 0 23
32 23 0
如您所定義,您嘗試創建2D數組,其中array[i][j] == array[j][i]
。 您可以使用一對嵌套循環,其中一個循環迭代到數組的大小,另一個迭代到外部數組的計數器,並在每次迭代中設置兩個對稱值的值:
double[][] array = new double[n][n];
for(int i = 0; i < n; i++) {
for(int j = 0; j < i; j++) {
int value = rand.nextInt((rangeOfWeights)+1);
array[i][j] = value;
array[j][i] = value;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.