定义与另一个Point比较的isUnder方法

时间:2012-04-13 10:43:29

标签: java methods

我有课堂要点:

public class Point
{
    private double _x;
    private double _y;

}

我也有getX()getY()方法。 我需要定义两种方法:

1. public boolean isAbove(Point other)
2. public boolean isUnder(Point other)

所以这就是我想出来的:

public boolean isAbove(Point other)
{
    if (this._y <= other._y)
    {
        return false;
    }
    else
    {
        return true;
    }
}

public boolean isUnder(Point other)
{   

}

我在isUnder上尝试了几件事并得到了不同的结果。编写这两种方法的正确方法是什么?

**重要**

我必须在isAbove() !!

上使用isUnder()方法

4 个答案:

答案 0 :(得分:0)

如果你只处理两种可能性,那么isUnder =!isAbove所以你所要做的就是:

return !isAbove(other)

然而,在我看来,两点可以处于同一水平。说过我不知道背景所以我可能错了。

答案 1 :(得分:0)

如果您希望能够获得它的价值,那么您的课程需要一个吸气剂。然后在比较方法中使用该方法:

public class Point
{
    private double _x;
    private double _y;

public double getY() {
return _y;
   }
public boolean isAbove(Point other)
{
    if (getY() <= other.getY())
    {
        return false;
    }
    else
    {
        return true;
    }
}

}

答案 2 :(得分:0)

isUnder可以像这样实现

public boolean isUnder(Point other)
{   
     return (this._y != other.getY()) && !isAbove(other);
}

isAbove可以是

public boolean isUnder(Point other)
    {   
         return (this._y > other.getY());
    }

答案 3 :(得分:0)

如果你不能改变方法的数量,“isAbove”实际上意味着“isAtSameHeightOrAbove”

public boolean isAbove(Point other)
{
    return this._y >= other._y;
}

public boolean isUnder(Point other)
{   
    return this._y != other._y && !isAbove(other);
}