我有两个用于国际象棋变体的数组,我正在用java编码...到目前为止,我有一个控制台版本,它将棋盘表示为一维数组(大小为32),但我正在为其制作一个GUI,我想要它显示为 4x8 网格,所以我有一个 JPanel 的二维数组...
问题是,考虑到它是一个 4x8 数组,是否有任何公式可以将 array[i][j] 索引转换为 array[i] ?
可以这样想:
您有一个恰好是一维数组的数组,它实际上只是二维数组的项目的长连接。
因此,假设您有一个大小为 5 x 3(5 行,3 列)的二维数组。我们想要制作一个一维数组。您需要决定是要按行连接还是按列连接,在本例中我们将说连接是按行连接。因此,每行有 3 列长,因此您需要将一维数组视为在 3 的“步骤”中定义。因此,一维数组的长度将为 5 x 3 = 15,现在您需要找到接入点。
因此,假设您正在访问二维数组的第 2 行和第 2 列,那么最终将是 3 步(第一行)+ 第二行中的步数,即 3 + 2 = 5。是从零开始的索引,即 -1,因此位于索引 4 处。
现在来说说具体的配方:
int oneDindex = (row * length_of_row) + column; // Indexes
所以,作为上面的例子,你最终会得到
oneDindex = (1 * 3) + 1
应该就是这样
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)