2013-01-15 50 views
1

這可能看起來很愚蠢我有一個叫做ship locations的類,我希望存儲所有的船隻位置,ive從我的客戶端類擴展它,並簡單地調用set方法如下 sub.local是從船級在一個類中初始化一個數組,然後讓另一個類訪問

sub.local = new int[2][2]; 
sub.local[0][0] =row; 
sub.local[0][1]=col; 
sub.local[1][0]=row; 
sub.local[1][1] =col+1; 

toServer.writeInt(row); 
toServer.writeInt(col); 
toServer.writeChar('s'); 


sub.placed=true; 
setp1sub(sub.local); 

多維數組當我打印回通過它回來與位置記憶,而不是我需要的數字另一個類。這是什麼原因

public class ShipLocations { 


static int [][] p1sub; 

public ShipLocations() 
{ 
    p1sub = new int[2][2]; 
} 
public int[][] getp1sub() 
{ 
    return p1sub; 
} 
public void setp1sub(int[][] local) { 
    for (int i = 0;i <local.length;i++) 
    { 
     for(int j = 0;j<local.length;j++) 
     { 
      p1sub [i][j]= local[i][j]; 
     } 
    } 

} 



} 

是否將im作爲sub.local傳遞它? 輸出[I @ a401c2

+0

您能向我們展示打印聲明嗎? – Hitman47

回答

2

而不是寫

System.out.println(yourArray); 

使用

// for multidemensional arrays: 
System.out.println(Arrays.deepToString(yourArray)); 
// or for one dimemsional arrays: 
System.out.println(Arrays.toString(yourArray)); 

下面是相關JavaDoc的鏈接。

有關輸出的說明,您可以查看this answer

+0

謝謝你,但這是否意味着我只能作爲一個字符串檢索我的數組而不是作爲一個int [] []也打印輸出數組是[[0,0],[0,0]]所有的時間不是正確的 –

+0

你是什麼意思檢索? – jlordo

+0

我打算讀取這個數據並將其與另一個數組進行比較,但是這些數值(如果兩個值都相同,那麼船已經被擊中),但是目前我主要關心的是它停留在[[0,0] [0,0] ] –