我必须写两次方法。一旦使用Array并使用链接列表一次。 任务是绘制一个多边形。这些点保存在数组或链接列表中。
我已经完成了第一部分(数组并且它完美运行)
public void draw() {
Drawing.graphics.setColor(this.color);
int[]xPoints = new int[this.points.size()];
int[]yPoints = new int[this.points.size()];
for(int i = 0; i < this.points.size();i++){
Position p = this.points.get(i);
xPoints[i] = p.getX()+this.origin.getX();
yPoints[i] = p.getY()+this.origin.getY();
}
Drawing.graphics.fillPolygon(xPoints,yPoints,this.points.size());
}
现在我只是不知道如何仅使用链接列表编写相同的方法。 这就是我走了多远。它并不多......
public void draw() {
Drawing.graphics.setColor(this.color);
PolygonList list = new PolygonList(this.points.size(),this.points.size(), this.color);
Drawing.graphics.fillPolygon(list.origin.x,list.origin.y,this.points.size());
}
感谢您的帮助!
答案 0 :(得分:1)
不要复制代码。将现有代码解压缩到类似drawPolygon(List<Position> positions)
的参数的方法。因此,您可以使用数组和列表调用此方法:
drawPolygon(Arrays.asList(points));
drawPolygon(pointsAsList);