在构造函数中,我尝试从Point2D数组构建Point2D.Double数组。
基本上我想将坐标添加到图形。
我这样做:

private Point2D.Double [] points;

public EmbeddedGraph(Point2D[] pointArray){
    super(pointArray.length);
    for (int i=0; i<pointArray.length; i++){
    points[i] = new Point2D.Double();
    points[i].setLocation(pointArray[i].getX(), pointArray[i].getY());
    }
}


但是我得到了NullPointerException。

坐标数组(pointArray)来自练习的给定代码。因此,我猜错是我自己造成的。

Point2D[] coordinates = new Point2D[4];
coordinates[0] = new Point2D.Double(-14,0);
coordinates[1] = new Point2D.Double(0,10);
coordinates[2] = new Point2D.Double(0,-10);
coordinates[3] = new Point2D.Double(14,0);
EmbeddedGraph g = new EmbeddedGraph( coordinates );

最佳答案

您试图填充points[]数组为空时。
您应该先这样做:

`points = new Point2D[pointArray.length]`


(如果未在super()中完成);

10-07 12:58