ここに私のJavaの問題があります:
私の Circle クラスは Shape インターフェイスを実装しているため、必要なすべてのメソッドを実装する必要があります。「Shape の内部に指定された Rectangle2D が完全に含まれているかどうかをテストする」メソッド boolean contains(Rectangle2D r) に問題があります。現在、Rectangle2D は (私の知る限りでは) 四角形の角の座標を取得する方法を提供しない抽象クラスです。より正確に言うと、「Rectangle2D クラスは、位置 (x、y) と次元 (wxh) によって定義される長方形を記述します。このクラスは、2D 長方形を格納するすべてのオブジェクトの抽象スーパークラスにすぎません。座標の実際のストレージ表現サブクラスに任せる」。
では、どうすればこれを解決できますか?
私のコードの一部を以下に見つけてください:
public class Circle implements Shape
{
private double x, y, radius;
public Circle(double x, double y, double radius)
{
this.x = x;
this.y = y;
this.radius = radius;
}
// Tests if the specified coordinates are inside the boundary of the Shape
public boolean contains(double x, double y)
{
if (Math.pow(this.x-x, 2)+Math.pow(this.y-y, 2) < Math.pow(radius, 2))
{
return true;
}
else
{
return false;
}
}
// Tests if the interior of the Shape entirely contains the specified rectangular area
public boolean contains(double x, double y, double w, double h)
{
if (this.contains(x, y) && this.contains(x+w, y) && this.contains(x+w, y+h) && this.contains(x, y+h))
{
return true;
}
else
{
return false;
}
}
// Tests if a specified Point2D is inside the boundary of the Shape
public boolean contains(Point2D p)
{
if (this.contains(p.getX(), p.getY()))
{
return true;
}
else
{
return false;
}
}
// Tests if the interior of the Shape entirely contains the specified Rectangle2D
public boolean contains(Rectangle2D r)
{
// WHAT DO I DO HERE????
}
}