-2
public class RightAngleTriangle
{
    int height;
    int width;
    double area;
    double perimeter;

    public RightAngleTriangle()
    {
        height = 1;
        width = 1;
    }

    public RightAngleTriangle(int hei, int wid)
    {
        if(hei > 0 && wid > 0)
        {
            height = hei;
            width = wid;
        }
        else
        {
            height = 1;
            width = 1;
        }
    }

    public double area()
    {
        area = height * width;
        return area;
    }

    public double perimeter()
    {
        perimeter = (height * 2) + (width * 2);
        return perimeter;
    }

    public boolean isIsosceles()
    {
        if(height == width)
        {
            return true;
        }
        return false;
    }

    public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
    {
        if (area(RightAngleTriangle) > area(anotherRightAngleTriangle))
        {

        }
    }

}

For the method largerThan() how can I make it so largerThan() returns true if and only if the area of this RightAngleTriangle is larger than the area of anotherRightAngleTriangle. I am not sure how to compare the areas because the area is calculated locally. I tried initializing area globally but I need the returned value not the initialized value.

ΦXocę 웃 Пepeúpa ツ
  • 47,427
  • 17
  • 69
  • 97
sdfjbs
  • 23
  • 5

1 Answers1

2

Just as a comment largerThan() is not a constructor, is a method

now to your question

you need to call the method in the current instance and in the object passed as parameter

public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
    if (this.area() > anotherRightAngleTriangle.area( ))
    {
         //your logic
    }
}

or simple doing

public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
   return this.area() > anotherRightAngleTriangle.area();
}
ΦXocę 웃 Пepeúpa ツ
  • 47,427
  • 17
  • 69
  • 97