2016-02-25 130 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];