java如何正确定位网格坐标
我摄取了四个十进制坐标,类似于:33.829785,-84.3958,这样我可以在地图上画一个正方形。但是,有时坐标没有按正确的顺序传递,这会导致形成一个带有边远点的三角形。在研究这一点时,我研究了S.O.上的here和here。我还研究了Jgraph、Jung和Grappa;但是这些框架更适合于创建一个操作图,而不是评估它们。我还发现了下面的代码,该代码用于对一组四个整数点进行排序,但不适用于十进制度数,这是由于java所施加的限制。可比较的接口
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 楼答案
一旦您将发布的代码转换为使用
double
,它应该可以工作。我不知道你为什么认为不会不要被
compare
的返回类型弄糊涂,它需要保持int
。对int
的所有其他引用都变为双引用。这可能会有帮助:Comparator with double type祝你好运