【发布时间】:2013-05-07 20:38:35
【问题描述】:
我需要翻转一个一维 64 元素的短裤数组(如果它更容易,我可以切换到整数,但我假设相同的过程适用于任何一个)在 Java 中的头部。为了便于理解,我在这里将它表示为一个方桌,因为实际的问题是在棋盘上。
例如:
short[] example = new short[]
{
1, 2, 3,
4, 5, 6,
7, 8, 9
};
会变成:
7 8 9
4 5 6
1 2 3
请注意,这不与反转数组相同(我发现的类似问题的每个回答者都犯了这个错误,因此我不得不问!)。反转数组将给出:
9 8 7
6 5 4
3 2 1
抱歉,如果我错过了任何重要信息,我们将不胜感激!
编辑:数组是一维的,包含 64 个元素,所以很短 [64],并且反转的数组与原始数组是分开的。就我所尝试的而言,我只是在努力解决它。我知道如何反转数组,但这不是我想要的,我最初尝试使用以下方法反转索引:
byte index = (byte)(((byte)(position + 56)) - (byte)((byte)(position / 8) * 16));
这是我在Chessbin 上找到的代码 sn-p,但这会返回不正确的值并给出 IndexOutOfBounds 错误。事后看来,我不清楚该代码是否旨在翻转索引或反转它。由于数学不是我的强项,因此我尝试使用单独的数组来解决它。
【问题讨论】:
-
你错过了你尝试过的东西
-
这个数组在代码中是什么样子的?是
short[][]吗?你有没有尝试过什么?有错误吗? -
这是一个多维数组吗?
-
这是一个二维数组吗?否则我不知道你怎么知道从哪里开始
flipping数组... -
为什么不使用多维数组呢?你怎么知道应该有多少“行”(我知道可能是 8,但总是这样)?