java 求两点间距离的问题

2024-12-16 02:35:31
推荐回答(1个)
回答1:

两维空间里,两点间的距离公式是L = sqrt((x1-x2)^2+(y1-y2)^2);
多维空间的公式照推。
假设文件中数据如下:

3
2,5,6
6,8,5

则对应的代码如下:
BufferedReader reader = new BufferedReader(new FileReader("C:/test.txt"));
//获取维数
String s1 = reader.readLine();
num = Integer.parseInt(s1);
//获取第一个坐标的信息,将其坐标信息保存在数组中
String s2 = reader.readLine();
String[]str2 = s2.split(",");
int p1[] =new int[num];
for(int i=0;i p1[i] = Integer.parseInt(str2[i]);
}
//获取第二个坐标的信息,同上,略过
……
//将对应坐标之差保存到另外一个数组
int a []=new int[num];
for(int i = 0;ia[i] = p1[i]-p2[i];
//求这个数组各元素的平方和
int sum = 0;
for(int i=0;isum += a[i]*a[i];
}
求距离
int L = Math.sqrt(sum);

以上代码直接在浏览器中完成,可能会有编码问题,楼主细察