2014-09-02 39 views
0

我想要在維度爲[n] [n]的Java中以二維數組的位置編碼位置我們有n行和n列,所以我想要從這個角度實現的是在java二維數組中的代碼位置

(0,0) (0,1) (0,2) 
(1,0) (1,1) (1,2) 
(2,0) (2,1) (2,2) 

我一定要得到這個結果(代碼行和col得到十進制的結果):

(0) (1) (2) 
(3) (4) (5) 
(6) (7) (8) 
+0

好的。問題是什麼?您是否閱讀過Java教程中的[Arrays]部分(http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html)? – Keppil 2014-09-02 17:08:20

回答

0

(N *行+列)會給你那些索引。你在問什麼?

這裏是它的代碼:

for(int i = 0; i < n; i++) 
    for(int j = 0; j < n; j++) 
     matrix[i][j] = i*n + j; 
1

對於二維指數在matrix[i][j],和在vector[index]以下關係成立的線性索引。

final int n = 3; // dimension of the columns 

int i = ... 
int j = ... 

int index = i * n + j; 

i = index/n; 
j = index % n; 

使用整數除法和模數。

+0

@Unihedron謝謝,的確我打了個電話,一般來說這個問題涉及到非常基礎的計算機科學/數學,所以無法獲得。我只是回答,因爲第一個答案並不完整。 – 2014-09-02 19:20:54