gpt4 book ai didi

java - 与 double 相当

转载 作者:行者123 更新时间:2023-12-01 09:49:49 26 4
gpt4 key购买 nike

假设已经定义了一个 Point2D 类来存储具有 x 和 y 坐标(均为 double )的二维点。该类包括以下成员:

enter image description here

您的任务是通过添加适当的compareTo 方法将该类修改为Comparable。点应该相对于它们与原点的距离进行比较,距离原点较近的点被认为比距离原点较远的点“少”。两点之间的距离定义为 x 和 y 坐标之差的平方和的平方根。

我不确定当有 double 时如何实现compareTo方法。对于整数和字符串,我将使用以下语法:

public int compareTo(object name) {
// comparing integers
if (this.object != other.object) {
return this.field - other.field;
} else { // comparing strings
return toString().compareTo(other.toString());
}
}

比较两个 double 时是否有通用的实现策略,例如上面的货币或 Point 类?

最佳答案

使用int Double.compare(double d1, double d2) .

您也不应该执行this.field - other.field,因为在数字溢出的情况下可能会返回不正确的结果。使用int Integer.compare(int x, int y) .

关于java - 与 double 相当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37670328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com