设计一个Position类 该类有x和y两个成员坐标变量表示坐标 要求该类实现Comparable接口的compareTo()方法 实现比较两个Position对象到原点的距离之差
时间: 2024-12-17 14:51:21 浏览: 20
设计一个名为`Position`的类,用于表示二维空间中的位置,可以按照以下步骤进行:
```java
public class Position implements Comparable<Position> {
private double x;
private double y;
// 构造函数
public Position(double x, double y) {
this.x = x;
this.y = y;
}
// 获取和设置坐标值
public double getX() { return x; }
public void setX(double newX) { this.x = newX; }
public double getY() { return y; }
public void setY(double newY) { this.y = newY; }
// 计算到原点的距离并返回
public double distanceToOrigin() {
return Math.sqrt(x * x + y * y);
}
// 实现Comparable接口的compareTo方法,比较距离之差
@Override
public int compareTo(Position other) {
double differenceThis = distanceToOrigin();
double differenceOther = other.distanceToOrigin();
if (differenceThis < differenceOther) {
return -1;
} else if (differenceThis > differenceOther) {
return 1;
} else {
// 如果两者到原点距离相等,则默认它们相等,返回0
return 0;
}
}
}
```
在这个`Position`类中,我们实现了`Comparable<Position>`接口,通过计算每个`Position`对象到原点的距离,并在`compareTo()`方法中比较这两个距离。当两个对象的距离相同时,它们会被认为是相等的。
阅读全文