运算符“>”不能应用于“java.awt.geom.point2d.double”、“java.awt.geom.point2d.double”

2lpgd968  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(305)

我有一个家庭作业,我需要填写代码模板的选定部分,以找到最近的点对。除了选定的部分之外,我无法更改代码中的任何内容。
所以我的问题是在给定的代码中,我需要执行medianof3操作,但代码本身使用point2d.double[],我不知道如何操作。
当我试着用这个的时候

private Point2D.Double getMedianX(Point2D.Double[] arr, int left, int right) {
    //Write codes here
    int center = (left + right) / 2;
    // order left & center
    if (arr[left] > arr[center])
        swap(arr ,left, center);

我得到这个错误:运算符“>”不能应用于“java.awt.geom.point2d.double”、“java.awt.geom.point2d.double”
如何在不更改getmedianx中的参数的情况下解决此问题?

pgvzfuti

pgvzfuti1#

错误就是告诉你到底出了什么问题。不能在point2d.double对象上使用算术运算符,因为 Point2D 表示二维空间中的x和y值--您要比较哪一个?
您将需要提取point2d对象持有的双值,根据api,这将需要您调用 .getX().getY() (或两者都有),然后在算术比较中使用这些。

相关问题