麻烦用Java中的方程式

时间:2012-03-09 08:22:41

标签: java indexing row equation

我目前正在为Android学校开发一款15益智游戏。可悲的是,我遇到了一个问题。

我需要重写这个等式来从中获取行和列而不是索引。看看代码和se你们是否可以帮助我!

这需要一行和一列并返回一个相应的索引。

int index = 4 * (row - 1) + (column - 1);

但是,现在我想将索引转换为行和列。 所以有人知道如何反转这个等式,将一行和一列返回两个不同的整数。

感谢, 的Mikael

3 个答案:

答案 0 :(得分:5)

试试这个:

row = index / 4 + 1;
column = (index % 4) + 1;

请注意,这个(以及原始公式)只适用于column < 5(当然,它适用于15个拼图)。

答案 1 :(得分:1)

尝试将其绘制成阵列,看看是否可以找出模式。当您向下移动单元格或向右移动时,观察索引的作用。

请注意,下图中的索引是基于1的,但对于java数组,您需要基于0的索引。

indices of a 2d array

答案 2 :(得分:0)

请看这个页面System of linear equations。在您的情况下,您有两个未知变量(行和列)和只有一个等式,因此您可能有多个行和列的解决方案(几个值)。请注意,在您的情况下,您还有关于行和列的值的约束,因为这些是数组索引。