比较数组中的距离

时间:2014-04-10 21:18:59

标签: java arrays

我在比较数组中的值并将线条绘制到距离最远的点时遇到问题。

   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);

到目前为止,这是我的代码生成随机点的一部分,但我不知道如何测量距离然后绘制它。 我是否必须创建一个嵌套循环? 任何建议都会很棒!

1 个答案:

答案 0 :(得分:2)

如果您只想绘制最长的边缘(图论理论术语),您的绘制调用将不在您的for循环内。相反,您的循环(可能还有第二个嵌套循环)将贯穿您的所有可能性并首先找到最长的边缘,通过保存和覆盖数据到目前为止每次突破之前最长的数据记录,然后在循环后开始绘制一次。