2012-09-30 95 views
1

我在寫一個程序,其中有一個來自單元類的對象的二維數組,我需要編寫一個方法,將一個單元格對象作爲參數,我返回一個環繞細胞(N,S,E,W)的細胞陣列列表。每個單元都有一個Point類的位置。我遇到的問題是如何使用我知道的位置(x,y-1是北)來生成一個單元格。任何對此的幫助表示讚賞。謝謝。Java - 使用Point類返回二維數組中的位置值

回答

1

如果(X,Y)爲您的單元,則在四個周圍細胞是

(x+1, y) 
(x-1, y) 
(x, y+1) 
(x, y-1) 

,你可能使假設

+x axis is EAST 
-x axis is WEST 
+y axis is NORTH 
-y axis is SOUTH 

所以

(x+1, y) is EAST to the cell, 
(x-1, y) is WEST to the cell, 
(x, y+1) is NORTH to the cell and 
(x, y-1) is SOUTH 

到您將作爲參數傳遞給您的方法的單元格。

+0

感謝您的幫助!我主要遇到麻煩的是如何使用Point類與這一點。所以如果我知道(x-1,y)在單元格的西邊,我怎樣才能得到這個單元格,這樣我就可以將它添加到ArrayList中。 – user1547050

+0

是的,正如我告訴過你的,你必須假設哪個軸是地圖的哪個方向,你必須在整個程序中遵循假設。 – Jayy

+0

我假設你的意思是--y是SOUTH,而不是WEST :)儘管如此,在一些應用程序(尤其是計算機圖形學)中常常會使+ y向南而不是向北。 –