Hallo Ich schreibe eine Anwendung mit Java. In meiner Anwendung brauche ich eine Methode, um jeden Punkt mit seinen zwei nächsten Punkten zwischen vielen verschiedenen Punkten zu verbinden (zeichne eine Linie von einem Punkt zu seinen zwei nächsten Punkten). Zuerst habe ich diese Methode, um jeden Punkt zu seinen engsten Punkt zu verbinden:verbinden Sie einen Punkt mit jedem zwei nächsten Punkt zwischen verschiedenen Punkten
public void connectingPoints()
{
ArrayList<Point> externals = new ArrayList<Point>();
for(int i = 0; i<externals.size(); i++)
{
Point point = externals.get(i);
Point minPoint = externals.get(i+1);
int minXDistance = minPoint.x-point.x;
int minYDistance = minPoint.y-point.y;
for(int j = 1; j<externals.size();i++)
{
if((externals.get(j+1).x-point.x<minXDistance)&&(externals.get(j+1).y-point.y<minYDistance))
{
minPoint = externals.get(j+1);
}
}
getGraphics().drawLine(point.x, point.y, minPoint.x, minPoint.y);
repaint();
}
}
}
aber dieses nicht Methode funktioniert überhaupt nicht. Warum? Wo ist das Problem? Und wie kann ich einen Punkt mit seinem 2 nächsten Punkt verbinden.
Wenn Sie sagen "funktioniert nicht", was macht es? – DJClayworth
Ich verstehe die Frage nicht einmal. –
Es sieht so aus, als ob Sie i erhöhen, wenn Sie j in Ihrer verschachtelten for-Schleife inkrementieren sollten. –