public class Polygon { private Point[] points; public Polygon(Point[] points) { this.points = new Point[points.length]; for (int i = 0; i < points.length; i++) { this.points[i] = points[i]; } } public void draw(SimpleWindow w) { w.moveTo(points[0].getX(), points[0].getY()); for (int i = 1; i < points.length; i++) { w.lineTo(points[i].getX(), points[i].getY()); } w.lineTo(points[0].getX(), points[0].getY()); } public void addPoint(Point p) { Point[] newPoints = new Point[points.length + 1]; for (int i = 0; i < points.length; i++) { newPoints[i] = points[i]; } newPoints[newPoints.length - 1] = p; points = newPoints; } }