这些方法有什么用?
What are these methods for?
我正在做作业(复合类关于计算两点之间的距离。我有类(线,点和主线)。我必须使用我老师设计的方法UML。但是,我发现我可以在不执行某些方法的情况下计算距离。我只是想知道是否有人知道它们的用途。
我相信它们是用来计算和returnP点的距离的。但是P点只有1个点,怎么计算呢?或者也许点 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;
}
我的主要方法将生成随机整数并实例化一个具有以下结果的对象:
Point 1 (43, -90)
Point 2 (-70, -34)
Distance (126.1150)
how can i calculate distance with just a single point?
只有一个 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()
}
不确定 "get Distance" 和 "Distance" 之间有什么区别,但根据我的理解,您需要计算当前点 (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 ) );
}
private double distance(Point p)
{
// how can i calculate distance with just a single point?
}
如何执行这个方法?在 main 方法的某处您将创建 class 点的对象并执行该方法并传递另一个对象。
Point pointA = new Point (1,1);
Point pointB = new Point (3,3);
double distance = pointA.distance(pointB);
现在我们有了 Object 并且传递了另一个 Object。
private double distance(Point p)
{
int distanceX = this.x - p.x;
int distanceY = this.y - p.y;
double result = //TODO some formula
return result;
}
我正在做作业(复合类关于计算两点之间的距离。我有类(线,点和主线)。我必须使用我老师设计的方法UML。但是,我发现我可以在不执行某些方法的情况下计算距离。我只是想知道是否有人知道它们的用途。
我相信它们是用来计算和returnP点的距离的。但是P点只有1个点,怎么计算呢?或者也许点 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;
}
我的主要方法将生成随机整数并实例化一个具有以下结果的对象:
Point 1 (43, -90)
Point 2 (-70, -34)
Distance (126.1150)
how can i calculate distance with just a single point?
只有一个 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()
}
不确定 "get Distance" 和 "Distance" 之间有什么区别,但根据我的理解,您需要计算当前点 (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 ) );
}
private double distance(Point p)
{
// how can i calculate distance with just a single point?
}
如何执行这个方法?在 main 方法的某处您将创建 class 点的对象并执行该方法并传递另一个对象。
Point pointA = new Point (1,1);
Point pointB = new Point (3,3);
double distance = pointA.distance(pointB);
现在我们有了 Object 并且传递了另一个 Object。
private double distance(Point p)
{
int distanceX = this.x - p.x;
int distanceY = this.y - p.y;
double result = //TODO some formula
return result;
}