2016-02-25 44 views
0

我有一个二维数组名为多和它的声明是将双元素二维数组

Object[][] multi = new Object[10][10]; 

我想,当我加入一些元素,如x和y是整数

multi[y][x]=10; 

不打印此array或孔array什么我得到null输出whay我打印

System.out.println(multi[0][0]); 

for(int r = 0; r < 10; r++) { 
    for(int g = 0; g <10; g++) { 
     System.out.println(multi[r][g]); 
    } 
} 
+1

你应该得到99'null'版画,以及一个打印与'10',如果你只分配一个值。你可以包括整个代码,或者说是执行这个特定代码的方法。 – SomeJavaGuy

+1

'multi [r]'的所有元素(对于'0 <= r <10')最初都是'null';他们只会在你随后赋予它们一个非空值时才会出现。 –

+0

no m8当我添加oly一个元素 'multi [0] [0] = 10;' 并打印一个这样的元素 'System.out.println(multi [0] [0]);' 我得到一个'null'打印 – special

回答

1

将值存入数组并打印它们。

Object[][] multi = new Object[10][10]; 
Double d  = 0.1; 
Double anotherD = 2.5; 

multi[0][0] = d  ; 
multi[1][3] = anotherD; 

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

您应该看到下面的输出时运行上面的代码:

0.1 空 [大量空值中省略的] 空 2.5 空 [大量空值中省略] 空

0

如果数组存储Object类型的对象,则应考虑添加实际对象,而不仅仅是未声明的值。

Object[][] multi = new Object[10][10];

相反的: multi[0][0] = 10; 您应该使用 multi[0][0] = new Double(10);

或者你做一个额外的步骤,并声明一个变量为

Double dValue = 10; multi[0][0] = dValue;

如果你只存储一个对象类型(或基本类型)你应该考虑声明一个该特定类型的数组;例如双:

double[][] multi = new double[10][10];