Я делаю домашнее задание для программирования Java. Меня просят написать метод, который возвращает расстояние между двумя точками. Я должен использовать приведенную формулу, что distance = square root((x2 - x1)*(x2 - x1) +(y2 - y1)*(y2 - y1))
.Метод принимает другой объект как параметр
В нижеследующих кодах, объект a
будет содержать текущую координату x1 и y1, а b
будет координатой x2 и y2, переданной для перемещения в каком-либо месте.
Как написать метод в этом классе, не имея других классов и других элементов, таких как x2, y2? В объектах есть два значения, но как я могу назначить каждый x1 и x2, а y1 и y2? Я нашел определение вектора для java, но я не уверен, что он применим для этого. У кого-нибудь есть идея?
public class MyPoint{
private int x;
private int y;
}
public MyPoint(int x, int y){
this.x = x;
this.y = y;
}
public int distanceTo(MyPoint a, MyPoint b){
MyPoint.x1 = a;
MyPoint.y1 = a;
MyPoint.x2 = b;
MyPoint.y2 = b;
double distance = Math.sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
return distance;
}
}
Queens College, курс Ландау на Java? –
Off topic: используйте 'Math.pow (x2-x1,2)' вместо '(x2-x1) * (x2-x1)'. В общем, когда вам нужно сделать власть, используйте 'Math.pow (выражение, мощность)' – BackSlash
@BackSlash: не по теме, но если он делает много вычислений, то код написан как '(x2-x1) * (x2-x1) ', лучше, чем использование Math.pow. Вы должны прокомментировать это, чтобы понять, почему. –