java 二维数组的输出

各位好,在java中,我知道一位数组有快捷的方法输出所有元素,用 arrays.tostring(数组名)
但是我用在二维数组里面,输出的是乱码([[I@659e0bfd, [I@2a139a55]),请问有什么方法可以正常显示?
代码如下
package may9th;

import java.util.Arrays;

public class Doo1 {
public static void main(String[] args) {
int [][] ary = new int[2][3];
ary[1] = new int[]{4,5,6,7};
System.out.println(Arrays.toString(ary));

}
}

二维数组的话,需要循环两分别读取
代码如下:
public static void main(String[] args) {
int[][] a = new int[3][4];
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]);
}
System.out.println();
}
}
运行结果如下:
0000
0000
0000

备注:上面输出0的原因是只创建了实例没有赋值,int类型的默认值是0,所以才有以上结果的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-09
public static void main(String[] args) {
int [][] ary = new int[2][3];
ary[1] = new int[]{4,5,6,7};
for( int i=0;i<ary.length;i++)
System.out.println(Arrays.toString(ary[i]));
} //以循环方式,输出各一维数组才可以!  二维数组的toString不能输出数组的元素值

第2个回答  2015-05-09
需要遍历,你直接打印打印的是哈希值。本回答被提问者采纳