HOWTO · Java

在 Java 中计算欧几里得距离

本文将帮助你使用 Java 计算两点之间的距离。

本页内容

在本教程中,我们将研究两点之间距离的计算。

在 Java 中计算欧几里得距离

首先,我们将分享一些关于欧几里得距离的见解。

欧几里得空间中两个位置之间的线段长度在数学中称为欧几里得距离。它也被称为勾股距离,因为它可以使用勾股定理从位置的笛卡尔坐标确定。

计算欧几里得距离或两点之间距离的公式:

欧几里得距离公式

在上式中,p 和 q 是两个点。

要获得两点之间的距离 (q1,p1) 和 (q2,p2),你所要做的就是使用这些有序对的坐标并应用上述公式。

import java.lang.Math.*;

public class DistPoint {
  public static void main(String arg[]) {
    int q1, q2, p1, p2;
    double distance;
    q1 = 2;
    p1 = 3;
    q2 = 4;
    p2 = 5;
    distance = Math.sqrt((q2 - q1) * (q2 - q1) + (p2 - p1) * (p2 - p1));
    System.out.println("distance between two points:"
        + "(" + q1 + "," + p1 + "),"
        + "(" + q2 + "," + p2 + ")===>" + distance);
  }
}

输出:

Java 欧几里得距离输出 - 用户指定的点距离

上面的例子使用了最初赋予初始变量的公共值。在运行程序之前,我们已经声明了四个整数变量,即 q1、q2、p1 和 p2。

之后,公式由对象 distance 初始化。最后,运行程序后,它执行以下距离公式并打印出结果。

让我们使用用户的输入点计算两点之间的距离。

import java.util.Scanner;

public class Distance {
  public static void main(String arg[]) {
    int q1, q2, p1, p2;
    double distance;
    Scanner newnum = new Scanner(System.in);

    System.out.println("enter q1 point");
    q1 = newnum.nextInt();

    System.out.println("enter p1 point");
    p1 = newnum.nextInt();

    System.out.println("enter q2 point");
    q2 = newnum.nextInt();

    System.out.println("enter p2 point");
    p2 = newnum.nextInt();

    distance = Math.sqrt((q2 - q1) * (q2 - q1) + (p2 - p1) * (p2 - p1));

    System.out.println("distance between two points:"
        + "(" + q1 + "," + p1 + "),"
        + "(" + q2 + "," + p2 + ")===>" + distance);
  }
}

这个程序与前一个程序略有不同。首先初始化四个变量,得到两点的坐标。

创建一个 distance 对象来存储变量值。然后,使用 Scanner 类设计一个 newnum 扫描仪来获取用户输入。

执行主函数后,公式计算两点之间的距离。

输出:

Java 欧几里德距离输出 - 用户输入值