我在比较数组中的值并绘制一条线到具有最大距离的点时遇到问题。
Point2D[] pts = new Point2D[N];
for (int i = 0; i < pts.length; i++){
pts[i] = new Point2D(Math.random(), Math.random());
StdDraw.setPenColor(StdDraw.RED);
StdDraw.setPenRadius(0.008);
pts[i].draw();
if(SOMETHING){
StdDraw.setPenColor(StdDraw.BLACK);
StdDraw.setPenRadius(0.002);
pts[i].drawTo(SOMETHING);
到目前为止,这是我生成随机点的代码的一部分,但是我不知道如何测量距离然后绘制。
我必须创建一个嵌套循环吗?
任何建议都很好!
最佳答案
如果只想绘制最长的边(图形理论术语),则绘制调用可能不会在for循环内。相反,您的循环(可能还有第二个嵌套循环)将遍历所有可能性,并通过保存和覆盖迄今为止每次发现的最长的数据,来首先找到最长的边,直到每次打破前一个记录,然后在循环后开始绘制一次。