給定一個網格,我知道行數(這是固定的),並且我知道當前的列數(可以隨意增長),我如何從它的索引計算正方形的行和列?如何從網格位置計算行/列?
+ + + + +
Cols ---> | 0 | 1 | 2 | 3 | ...
+--+---|---|---|---|---
0 | 0 | 3 | 6 | 9 | ...
+--+---|---|---|---|---
Rows 1 | 1 | 4 | 7 | A | ...
+--+---|---|---|---|---
2 | 2 | 5 | 8 | B | ...
+--+---|---|---|---|---
. . . . . ...
. . . . . .
. . . . . .
因此,考慮到:
final int mRowCount = /* something */;
int mColCount;
而且給出了一些功能:
private void func(int index) {
int row = index % mRowCount;
int col = ???
如何正確計算col
?它必須是列數和行數的函數,我很確定。但是我的大腦讓我失望了。
樣本:如果index == 4
,則row = 1
,col = 1
。如果index == 2
則row = 2
,col = 0
。
謝謝。