JAVA从构造函数返回值

时间:2016-11-30 15:42:42

标签: java return-value boolean-expression

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))
        {

        }
    }

}

对于方法largerThan()我该如何做到largerThan()返回true当且仅当此RightAngleTriangle的区域大于{{1}的区域时}}。我不确定如何比较区域,因为anotherRightAngleTriangle是在本地计算的。我尝试全局初始化area,但我需要返回的值而不是初始值。

1 个答案:

答案 0 :(得分:2)

正如评论largerThan()不是构造函数一样,是一种方法

现在问你的问题

您需要在当前实例和作为参数

传递的对象中调用该方法
public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
    if (this.area() > anotherRightAngleTriangle.area( ))
    {
         //your logic
    }
}

或简单地做

public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
   return this.area() > anotherRightAngleTriangle.area();
}