2015-02-25 5 views
1

Мне нужна функция Java, которая берет массив 2D 3x3 и помещает его в центр массива 2D 9x9. Например, массив 3x3 должен выглядеть следующим образом:Вставьте 2D-массив 3x3 в массив 9x9 2D

{{1,2,3}, 
{4,5,6}, 
{7,8,9}} 

и результирующий массив 9х9 должен выглядеть следующим образом:

{{0,0,0,0,0,0,0,0,0}, < OLD|NEW > {{0,0,0,0,0,0,0,0,0}, 
{0,0,0,0,0,0,0,0,0},     {0,0,0,0,0,0,0,0,0}, 
{0,0,0,0,0,0,0,0,0},     {0,0,0,0,0,0,0,0,0}, 
{0,0,0,0,0,0,0,0,0},     {0,0,0,1,2,3,0,0,0}, 
{0,0,0,0,0,0,0,0,0},     {0,0,0,4,5,6,0,0,0}, 
{0,0,0,0,0,0,0,0,0},     {0,0,0,7,8,9,0,0,0}, 
{0,0,0,0,0,0,0,0,0},     {0,0,0,0,0,0,0,0,0}, 
{0,0,0,0,0,0,0,0,0},     {0,0,0,0,0,0,0,0,0}, 
{0,0,0,0,0,0,0,0,0}}     {0,0,0,0,0,0,0,0,0}} 

Как я могу это сделать?

+0

SO не код-авторинга службы конечно. Что вы пробовали, и где вы застряли? – J0e3gan

ответ

1
for(int y = 0; y < 3; ++y) 
    for(int x = 0; x < 3; ++x) 
     array9x9[y+3][x+3] = array3x3[y][x]; 
1

Две вложенные петли для двух координат, копия (x, y) в (x+3, y+3).

1

Вы можете использовать смещение 3 для копирования элементов:

int[][] res = new int[9][9]; 
for (int i = 3; i < 6; i++) { 
    for (int j = 3; j < 6; j++) { 
     res[i][j] = arr[i - 3][j - 3]; 
    } 
} 
Смежные вопросы