0

私はクラスポイントを持っています:

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

}

また、私はgetX()getY()メソッドを持っています。2つのメソッドを定義する必要があります:

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、異なる結果が得られました。これらの2つのメソッドを書く正しい方法は何ですか?

** 重要 **

私はisAbove()メソッドを使用する必要がありますisUnder()!!

4

4 に答える 4

0

2つの可能性のみを扱っている場合は、isUnder =!isAboveなので、次のことを行うだけです。

return !isAbove(other)

ただし、2つのポイントが同じレベルになる可能性があるように思われます。文脈がわからないと言ったので間違っているかもしれません。

于 2012-04-13T10:51:51.213 に答える
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;
    }
}

}

于 2012-04-13T10:55:56.127 に答える
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());
    }
于 2012-04-13T10:56:24.820 に答える
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);
}
于 2012-04-13T10:57:21.367 に答える