例如,我有陣列
int [] array = new int[2];
使用代碼
for (int i: array){
System.out.println(i);
};
我看到輸出 0 和 0,這是預期的
但是如果我想輸出多陣列怎么辦:
int [][] array2 = new int[2]\[2];
for (int[] i : array2) {
for(int[] j : array2 ){
System.out.println(Arrays.toString(array2));
}
System.out.println(Arrays.toString(array2));
};
我有奇怪的輸出
[[I@7d4991ad, [I@28d93b30]
[[I@7d4991ad, [I@28d93b30]
[[I@7d4991ad, [I@28d93b30]
[[I@7d4991ad, [I@28d93b30]
[[I@7d4991ad, [I@28d93b30]
[[I@7d4991ad, [I@28d93b30]
但我的預期結果是
0 0
0 0
uj5u.com熱心網友回復:
你有一個陣列陣列,所以每個索引都array2包含另一個陣列,它本身就是一個物件。你得到的是這個物件的記憶體地址。
按照您想要的方式列印陣列的一種簡單方法如下:
for (int i = 0; i < array.length; i ) {
for(int j = 0; i < array.length; j ){
System.out.println(array[i][j]);
}
};
uj5u.com熱心網友回復:
這應該有助于列印
for (int[] row : array2) {
System.out.println(Arrays.toString(row));
}
輸出
[0, 0]
[0, 0]
uj5u.com熱心網友回復:
我相信您將不得不使用陣列的 length 屬性和索引 var 與 foreach 方法。
https://www.softwaretestinghelp.com/multidimensional-arrays-in-java/
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/537353.html
上一篇:如何將陣列中的奇數變為偶數?C
下一篇:結構內的動態分配矩陣
