嗨我正在用java写一个应用程序。在我的应用程序中,我需要一种方法将每个点连接到许多不同点之间的两个最近点(从一个点到两个最近点绘制一条线)。起初,我创建了这种方法,以便将每个点连接到其最近点:将点连接到不同点之间的每两个最近点
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();
}
}
}
但是这种方法根本不起作用。为什么?哪里有问题?我如何连接一个点到它的2个最近点。
当你说“不工作”时,它会做什么? – DJClayworth 2010-11-22 17:59:50
我甚至都不明白这个问题。 – 2010-11-22 18:06:01
它看起来像你增加我,当你应该在你的嵌套循环中增加j – 2010-11-22 21:36:07