11. 设计一个 Position类,该类有x和y两个成员变量表示坐标。要求该类实现 Comparable <T>接口的 compareTo()方法,实现比较两个 Position 对象到原点(0,0)的距离之差。用java写
时间: 2024-12-10 13:54:15 浏览: 19
1.泛型类 、通配符的使用、通配符的上限和下限 编写泛型类Stack<E>,该类中定义一个成员变量和如下方法:
5星 · 资源好评率100%
在Java中,设计一个`Position`类来表示二维坐标并实现`Comparable<T>`接口,以便能够按照距离原点的远近进行排序,可以按照以下步骤进行:
```java
import java.lang.Comparable;
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 x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
// 实现compareTo方法,计算两点到原点的距离差
@Override
public int compareTo(Position other) {
double distanceThis = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
double distanceOther = Math.sqrt(Math.pow(other.getX(), 2) + Math.pow(other.getY(), 2));
// 如果this更接近原点,返回负数;如果other更接近,返回正数;相等则返回0
if (distanceThis < distanceOther) {
return -1;
} else if (distanceThis > distanceOther) {
return 1;
} else {
return 0; // 相同距离
}
}
}
阅读全文