我正在做作业(计算两点之间的距离的综合类。我有类(Line,Point和Main)。我必须使用老师在UML上设计的方法。但是,我发现我可以在不完成某些方法的情况下计算距离。我只是想知道是否有人知道它们的用途。
我认为它们用于计算和返回点P的距离。但是,点P只有1个点,那么如何计算呢?还是Point P接受了我的第二个构造函数的值并复制了构造函数并进行了计算?谢谢大家的帮助。
以下是我的代码:
Class Point
class Point
{
private int x;
private int y;
//default constructor
public Point()
{
//do nothing
}
// second constructor
public Point(int x, int y)
{
this.x=x;
this.y=y;
}
// Copy constructor
public Point (Point p)
{
this (p.x,p.y);
}
private double distance(Point p)
{
// how can i calculate distance with just a single point?
}
public double getDistance(Point p)
{
// how can i return distance with just a single point?
}
// getter
public int getX()
{
return x;
}
public int getY()
{
return y;
}
/setter
public void set(int x, int y)
{
this.x = x;
this.y = y;
}
我的main方法将生成随机整数并实例化具有以下结果的对象:
Point 1 (43, -90)
Point 2 (-70, -34)
Distance (126.1150)
答案 0 :(得分:1)
我如何只计算一个点的距离?
您将无法仅拥有一个Point
。但是您没有一个Point
,而是两个Point
。一个是当前对象,另一个是传递给该方法的对象。
不为您做作业,而只是清除混乱,以便您可以继续...
public double getDistance(Point p)
{
// Here you would calculate and return the distance between "this" and "p".
// So your values are:
// this.getX()
// this.getY()
// p.getX()
// p.getY()
}
答案 1 :(得分:0)
不确定“获取距离”和“距离”之间有什么区别,但是根据我的理解,您需要计算当前点(this.x,this.y)与另一点(您要发送的点)之间的距离通过功能)。
如此:
private double distance(Point p)
{
// how can i calculate distance with just a single point?
var dX = this.x- p.x ;
var dY = this.y- p.y ;
return ( Math.sqrt( dX * dX + dY * dY ) );
}
答案 2 :(得分:0)
private double distance(Point p)
{
// how can i calculate distance with just a single point?
}
您如何执行此方法?在main方法的某个位置,您将创建一个类点的对象,并执行该方法并传递另一个对象。
Point pointA = new Point (1,1);
Point pointB = new Point (3,3);
double distance = pointA.distance(pointB);
现在我们有了对象,并且传递了另一个对象。
private double distance(Point p)
{
int distanceX = this.x - p.x;
int distanceY = this.y - p.y;
double result = //TODO some formula
return result;
}