我有一个家庭作业,我需要填写代码模板的选定部分,以找到最近的点对。除了选定的部分之外,我无法更改代码中的任何内容。
所以我的问题是在给定的代码中,我需要执行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中的参数的情况下解决此问题?
1条答案
按热度按时间pgvzfuti1#
错误就是告诉你到底出了什么问题。不能在point2d.double对象上使用算术运算符,因为
Point2D
表示二维空间中的x和y值--您要比较哪一个?您将需要提取point2d对象持有的双值,根据api,这将需要您调用
.getX()
或.getY()
(或两者都有),然后在算术比较中使用这些。