您的位置:首页 > 编程语言

7-7 编程练习题答案

2014-06-21 15:00 465 查看
import java.util.Scanner;

public class Test
{
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.5, 4, 2}, {5.5, 4, -0.5}
};

double minestDistance = 999;
int index1 = 0;
int index2 = 0;

for(int i = 0; i < points.length; i++)
{
for(int j = i + 1; j < points[i].length; j++)
{
if(minestDistance > distance(points[i][0], points[j][0], points[i][1], points[j][1], points[i][2], points[j][2]))
{
minestDistance = distance(points[i][0], points[j][0], points[i][1], points[j][1], points[i][2], points[j][2]);
index1 = i;
index2 = j;
}
}
}

System.out.println("The closest two points are (" + points[index1][0] + ", " + points[index1][1] + ", " + points[index1][2] + ") and (" + points[index2][0] + ", " + points[index2][1] + ", " + points[index2][2] + ")");
}

public static double distance(double x1, double y1, double z1, double x2, double y2, double z2)
{
return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) + (z2 - z1) * (z2 - z1));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: