在构造函数中,我试图从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 );
答案 0 :(得分:3)
当它为空时,您正在尝试填充points[]
数组。
你应该先做这件事:
`points = new Point2D[pointArray.length]`
(如果未在super()
中完成);