最近的一个java作业,觉得写的还行,值得注意的是可能有几组点的距离最小且相等。
import java.util.Scanner;
public class Distance {
public static double compute(double[] a,double[] b){
double[] c=new double[3];
c[0]=Math.pow(a[0]-b[0],2);
c[1]=Math.pow(a[1]-b[1],2);
c[2]=Math.pow(a[2]-b[2],2);
c[0]=Math.sqrt(c[0]+c[1]+c[2]);
//其实这里不用开方,不过这题不要求效率,所以还是开方了好看一些
return c[0];
}
public static int[] getmin(double[] a){
int[] n=new int[100];
n[0]=1;
//n[0]用来存储距离相同且最小的组数
double min=a[0];
for(int i=1;i<a.length;i++){
if(a[i]==min){
n[n[0]+1]=i;
n[0]++;
}else if(a[i]<min){
n[0]=1;
n[1]=i;
min=a[i];
}
}
return n;
}
public static void main(String[] args) {
//double[][] points={
{-1,0,3},{-1,-1,-1},{4,1,1},{2,0.5,9},{3.5,2,-1},{3,1.5,3},{-1,4,2},{5.5,4,-0.5

这是一篇关于如何在三维空间中找到距离最近的两点的Java作业解析,文中探讨了可能存在多组距离相等的最短距离情况。
最低0.47元/天 解锁文章
2558

被折叠的 条评论
为什么被折叠?



