Расстояние между 2 точками координаты
Я хочу найти расстояние между точкой x и точкой y. В методе getDistance сама формула (взял ее за основу, так как на всех форумах ее предлагают, так как в математике я не силен). Вот только возвращает по итогу постоянно 0. Я точно сверил формулу и она должна вроде как работать, но не хочет.
public class Point {
private double x;
private double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public double getDistance(Point point) {
return Math.sqrt(Math.pow(x - point.x, 2) + Math.pow(y - point.y, 2));
}
}
Вот код, который я использую для проверки.
public class PointDemo {
public static void main(String[] args) {
Point point = new Point(10, 5);
System.out.printf("X %f\nY %f\n", point.getX(), point.getY());
System.out.printf("distance %f\n", point.getDistance(point));
point.setX(1);
point.setY(41);
System.out.printf("X %f\nY %f\n", point.getX(), point.getY());
System.out.printf("distance %f\n", point.getDistance(point));
}
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
...
// distance from this to point
public double getDistance(Point point) {
return Math.sqrt(Math.pow(x - point.x, 2) + Math.pow(y - point.y, 2));
}
// distance from this to origin
public double getDistance() {
return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
}
...
System.out.printf("distance %f\n", point.getDistance());
Автор решения: Tokamo
→ Ссылка
Спасибо за помощь. Благодаря вам я допер в чем суть. Я задавал лишь одну точку, а надо было две. Метод расчета я не менял. Менял входные данные. Создал вторую координату point2 и далее через метод уже проводил правильные расчеты.
Point point1 = new Point(10, 5);
Point point2 = new Point(12, 30);
System.out.printf("Start value:\nX1 = %f\nY1 = %f\n", point1.getX(), point1.getY());
System.out.printf("X2 = %f\nY2 = %f\n", point2.getX(), point2.getY());
System.out.printf("distance = %f\n", point1.getDistance(point2));