Salut J'écris une application avec Java. Dans mon application, j'ai besoin d'une méthode pour connecter chaque point à ses deux points les plus proches entre de nombreux points différents (tracer une ligne d'un point à ses deux points les plus proches). Au début, je créé cette méthode de manière à relier chaque point à son point le plus proche:connecter un point à chaque point le plus proche entre les différents points
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();
}
}
}
mais cette méthode ne fonctionne pas du tout. Pourquoi? où est le problème? Et comment puis-je connecter un point à son point le plus proche.
Lorsque vous dites "ne fonctionne pas" que fait-il? – DJClayworth
Je ne comprends même pas la question. –
Il semble que vous incrémentez i lorsque vous devez incrémenter j dans votre boucle imbriquée –