我对此感到困惑。我想打印一个在代码中声明大小的数组。
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]
答案 0 :(得分:2)
您的二维数组由数组数组组成。以这种方式考虑它。对于每个数组元素,将一个新数组想象为一个元素。因此,要打印它,您需要遍历每个数组,换句话说,遍历行和列。
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();
}
如果您要用任何特定的非null 值填充数组,则可以在外部for循环内进行操作。
此外,您不能
myArray[i] = null;
如果要实际执行此操作,请使用
myArray[i] = new int[myArray[0].length];
答案 1 :(得分:0)
您首先要创建一个包含5个数组的数组,每个数组都有10个int(初始化为0)。
然后在for循环中,将第一个维度的每个索引设置为null。然后,您将得到一个包含五个null元素的数组。
如果出于某些原因您真的想使用空值,我建议您改用List。
如果要设置数组的值,则应在第一个循环中嵌套另一个循环,但是我相信本机int类型设置为null会抛出异常