尝试将2D数组中的元素复制到另一个2D数组中

时间:2013-09-19 13:32:10

标签: java arrays copy element

我有2个阵列,都是4 * 4阵列。我想从第一个数组复制1个元素并将其放入第二个数组,然后显示第二个数组,其中包含新元素。但是,我收到了一个错误。

我正在使用deepToString调用来打印数组。以下是我的代码:

    public static void main(String [] args)
    {
      System.out.print("Enter a row and column # for your first selection?");
     row = scan.nextInt();   //user enters row #
     column = scan.nextInt();   //user enters column #
     service.show(row, column);   //row and column # passed as parameters 
     System.out.println(Arrays.deepToString(board1));   //this will display board1
          //with the new element, leaving the rest of the elements untouched

     }

     Public void show(int row, int column)
      {
       Int a = row;
       Int b = column;
       board1[a][b] = board2[a][b];   //destination on left, source on right
                          //board1 is taking an element from index [a][b] in board2
       }

board1[a][b] = board2[a][b];行是我获得“NullPointerException”的地方。我认为这只是一个将一个元素复制到另一个数组的赋值语句。有没有更有效的方法来复制一个元素并显示新数组?有没有人知道如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

显然,你有全局变量'board1'和'board2'。查看它们的声明位置并验证是否已分配内存。在Java中,您必须分配数组内存,如下所示:

Int board1[][] = new Int[256][8];

答案 1 :(得分:0)

我认为你的类名是服务(或者它是你发布的类的一个实例),但是你的show()方法不是静态的,因此它无法从静态到达如果您没有将服务初始化为新对象,则为content。你可以发布完整的代码,以便我们检查吗?