Мне нужно перевернуть 1-мерный массив из 64 элементов (я могу переключиться на ints, если это проще, но я предполагаю, что те же процессы будет работать для обоих) на его голове в Java. Я представляю его здесь как квадратный стол для удобства понимания, поскольку фактическая проблема находится на шахматной доске.Как перевернуть строки в массиве 1D short/int, представляющем 2D-массив в 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
Извинение, если я пропустил какую-либо важную информацию, любая помощь приветствуется!
EDIT: массив 1D и содержит 64 элемента, поэтому короткий [64], а реверсивный массив отделен от оригинала. Насколько я пробовал, я просто пытаюсь обвести вокруг себя голову. Я знаю, как обратный массив, но это не то, что я после этого, и я первоначально пытался обратить индекс с помощью:
byte index = (byte)(((byte)(position + 56)) - (byte)((byte)(position/8) * 16));
который является фрагментом кода я нашел на Chessbin, но это возвращает неверные значения и дает ошибки IndexOutOfBounds. Оглядываясь назад, мне не ясно, должен ли этот код перевернуть индекс или отменить его. Поскольку математика не мой сильный костюм, я попытался обойти его с помощью отдельных массивов.
Вы пропустили то, что вы пытались –
Как выглядит этот массив в коде? Это 'short [] []'? Вы еще что-нибудь пробовали? Была ли ошибка? – thegrinner
Является ли это многомерным массивом ? – Adarsh