首页 > 解决方案 > 如何在java中打印二维数组?

问题描述

我被这个困住了。我想打印一个在代码中声明其大小的数组。

package userdefinedarray;

import java.util.Arrays;


public class userdefinedarray 
{    
    public static void main(String[] args) 
    {        
    int[][] myArray = new int[5][10];    
    for(int i=0;i<myArray.length;i++)
    {
        myArray[i] = null;
    }
    System.out.println(Arrays.toString(myArray));
    System.out.println(Arrays.deepToString(myArray));
}

}

这是输出。“new int[5][10]”中的>>[10]<<发生了什么?

[null, null, null, null, null]
[null, null, null, null, null]

标签: java

解决方案


您的二维数组由数组数组组成。这样想。对于每个数组元素,将一个新数组想象为一个元素。因此,为了打印它,您需要遍历每个数组,换句话说,遍历行和列。

for(int i=0; i<myArray.length;i++){
    for(int j=0;j<myArray[0].length;j++)
       System.out.print(myArray[i][j] + " ");
    System.out.println();
}

如果你想用任何特定的非空值填充你的数组,你可以在外部 for 循环内完成。

另外,你不能做

myArray[i] = null;

如果你想真正做到这一点,请使用

myArray[i] = new int[myArray[0].length];

推荐阅读