2014-04-14 139 views
-3

這是一個不尋常的問題,我有:我創建了一個尺寸爲3X3,沒有參數的2d int數組,當我嘗試在屏幕上顯示它時像這樣:[[I @ 49d67b41。有什麼建議麼?I @ 49d67b41打印時試圖打印一個二維數組

public static void main (String[] args) { 
    System.out.println(test2()); 
} 

static int [][] test2() { 
    int [][] l = new int[3][3]; 
    return l; 
} 
+0

你認爲它應該打印,爲什麼? –

回答

3

使用

System.out.println(Arrays.deepToString(test2)); 
+3

沒有。您應該在該特定情況下使用'Arrays.deepToString(test2)',因爲它是2d數組。否則,它會爲每個子數組打印相同的可怕字符串:) – BackSlash

+0

+1在正確的行上。比我的回答好。 – christopher

0

int[][]Object類型的子類。正在調用默認的toString()方法,您會看到對象的十六進制代碼。您需要實現自己的方法來打印int[][]類型。

for(int[] values : test2()) { 
    for(int value : values) { 
     System.out.print(int + " "); 
    } 
    System.out.println(); 
}