如何正确定位网格坐标

时间:2013-04-02 13:52:06

标签: java sorting

我正在摄取十进制度数的四个网格坐标,类似于:33.829785,-84.3958,这样我就可以在地图上绘制一个正方形。但是,有时坐标不会以正确的顺序传递,这会产生一个带有外围点的三角形。在研究这个问题时,我在S.O.上看了herehere。我还调查了JgraphJungGrappa;但是这些框架更适合创建操纵图,而不是评估它们。我还发现了以下代码,它用于排序一组四个整数点,但不是十进制度,因为java.lang.comparable接口施加了限制。

int[][] array={{2,2},{1,1},{4,3},{2,1},{10,1}};
            Arrays.sort(array, new Comparator<int[]>(){
                    public int compare(int[] a, int[] b){
                            //assumes array length is 2
                            int x,y;
                            if (a[0]!=b[0]) {
                                    x=a[0];y=b[0];
                            }
                            else{
                                    x=a[1];y=b[1];
                            }
                            if (x<y) return -1;
                            else if (x==y) return 0;
                            else return +1;
                    }
            });
            for(int[] term: array){
                    System.out.println(Arrays.toString(term));
            }

1 个答案:

答案 0 :(得分:1)

一旦您将代码转换为与double一起使用,您发布的代码就可以运行了。我不确定你为什么认为它不会。

不要对需要保留compare的{​​{1}}的返回类型感到困惑。对int的所有其他引用都变为双倍。这可能会有所帮助:Comparator with double type

祝你好运!