有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将3x3 2D数组插入9x9 2D数组

我需要一个Java函数,它接受一个2D 3x3数组,并将其放入2D 9x9数组的中心。例如,3x3阵列应如下所示:

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

由此产生的9x9阵列应如下所示:

{{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}}

我该怎么做


共 (3) 个答案

  1. # 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];
        }
    }
    
  2. # 2 楼答案

    for(int y = 0; y < 3; ++y)
        for(int x = 0; x < 3; ++x)
           array9x9[y+3][x+3] = array3x3[y][x];
    
  3. # 3 楼答案

    两个坐标的两个嵌套循环,将(x, y)复制到(x+3, y+3)