我想要獲得座標之間的距離,並且由於某種原因它似乎不起作用。感恩,如果有人能幫助!兩個座標之間的距離
輸出:
從A點到B點的距離爲0.0。點a 到點b的距離爲0.0。從點a到點b的距離爲0.0。從點a到點b的距離爲0.035。從P1到P2的距離 4.242640687119285從P1到P3的距離12.727922061357855
package GC01;
public class Point {
private final double x;
private final double y;
private double distance;
public Point(){
x=0.0;
y=0.0;
}
public Point(double x, double y) {
this.x=x;
this.y=y;
}
public double distanceTo(Point a, Point b) {
double dx = a.x - b.x;
double dy = a.y - b.y;
distance = Math.sqrt(dx*dx + dy*dy);
return distance;
}
public String toString(){
return "The distance from Point a to Point b is " + distance +".";
}
public static void main(String[] args){
Point p0 = new Point();
Point p1 = new Point(0.0,0.0);
Point p2 = new Point(3.0,3.0);
Point p3 = new Point(9.0,9.0);
System.out.println(p0.toString());
System.out.println(p1.toString());
System.out.println(p2.toString());
System.out.println(p3.toString());
System.out.println("The distance from p1 to p2 is "+p1.distanceTo(p1,p2));
System.out.println("The distance from p1 to p3 is "+p1.distanceTo(p1,p3));
}
}
我沒有看到問題出在哪裏,而只是一個建議。對於你的distanceTo函數,你應該只需要1個點的參數。第一點將是你「進入」的點,即這個。第二點將是參數。 – Kindread
其實問題是什麼?鑑於你如何輸出,你正在得到你應該的價值。從p1到p2的距離是4.24。而p1到p3是12.727,這就是你所得到的。正如Andrew_CS指出的那樣,您的困惑可能是您在計算之前輸出了緩存距離。 – Kindread
如果回答這個問題,你應該接受一個答案 - 這樣它就不會被標記爲未解決。 –