在 Java 中計算歐幾里得距離

Shiv Yadav 2024年2月15日
在 Java 中計算歐幾里得距離

在本教程中,我們將研究兩點之間距離的計算。

在 Java 中計算歐幾里得距離

首先,我們將分享一些關於歐幾里得距離的見解。

歐幾里得空間中兩個位置之間的線段長度在數學中稱為歐幾里得距離。它也被稱為勾股距離,因為它可以使用勾股定理從位置的笛卡爾座標確定。

計算歐幾里得距離或兩點之間距離的公式:

歐幾里得距離公式

在上式中,pq 是兩個點。

要獲得兩點之間的距離 (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 歐幾里得距離輸出 - 使用者指定的點距離

上面的例子使用了最初賦予初始變數的公共值。在執行程式之前,我們已經宣告瞭四個整數變數,即 q1q2p1p2

之後,公式由物件 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 歐幾里德距離輸出 - 使用者輸入值

作者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

相關文章 - Java Math