0
Я пытаюсь преобразовать размерный массив размером 16 x 4000 в 1000 блоков размером 8 x 8. Я должен получить 1000 таких блоков после запуска этого кода. Это то, что я написал, и мне нужно знать, где я ошибся, поскольку этот код дает мне всего лишь 500 блоков.Преобразование 2D-массива в несколько блоков 2D-массива
blockedCode(d); //d is a two D 16 x 4000 array
private static void blockedCode(int[][] array)
{
int one=0;
for (int i = 0; i < array.length; i += 8)
{
for (int j = 0; j < array[i].length; j += 8)
{
int block = (((i/8) * 8) + (j/8));
System.out.println("Block : " + block);
int[][] newArray = new int[8][8];
int newRow = 0;
List list = new ArrayList<>();
for (int k = i; k < (i + 8); k++)
{
int newColumn = 0;
for (int l = j; l < (j + 8); l++)
{
// This is where you are getting your array inside the given block.
newArray[newRow][newColumn] = array[k][l];
one++;
// System.out.format("[%-1s][%-1s] : %-3s ", newRow, newColumn, newArray[newRow][newColumn++]);
}
newRow++;
}
}
}
}
Ваше мнение thod выглядит полным непроверенного кода, комментариев и пустых строк ... Я советую вам писать свою программу с нуля с помощью TDD, тогда вы будете знать, что она работает. –
Мне нравится 'int one = 0' :) –