我有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
”的地方。我认为这只是一个将一个元素复制到另一个数组的赋值语句。有没有更有效的方法来复制一个元素并显示新数组?有没有人知道如何解决这个问题?
答案 0 :(得分:2)
显然,你有全局变量'board1'和'board2'。查看它们的声明位置并验证是否已分配内存。在Java中,您必须分配数组内存,如下所示:
Int board1[][] = new Int[256][8];
答案 1 :(得分:0)
我认为你的类名是服务(或者它是你发布的类的一个实例),但是你的show()方法不是静态的,因此它无法从静态到达如果您没有将服务初始化为新对象,则为content。你可以发布完整的代码,以便我们检查吗?