JAVA return 来自构造函数的值
JAVA return value from constructor
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()
returns true
当且仅当这个 RightAngleTriangle
的面积大于anotherRightAngleTriangle
的面积。我不确定如何比较这些区域,因为 area
是在本地计算的。我尝试全局初始化 area
但我需要返回值而不是初始化值。
正如注释largerThan()
不是构造函数,是方法
现在回答你的问题
您需要在当前实例和作为参数传递的对象中调用该方法
public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
if (this.area() > anotherRightAngleTriangle.area( ))
{
//your logic
}
}
或简单的做
public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
return this.area() > anotherRightAngleTriangle.area();
}
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()
returns true
当且仅当这个 RightAngleTriangle
的面积大于anotherRightAngleTriangle
的面积。我不确定如何比较这些区域,因为 area
是在本地计算的。我尝试全局初始化 area
但我需要返回值而不是初始化值。
正如注释largerThan()
不是构造函数,是方法
现在回答你的问题
您需要在当前实例和作为参数传递的对象中调用该方法
public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
if (this.area() > anotherRightAngleTriangle.area( ))
{
//your logic
}
}
或简单的做
public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
return this.area() > anotherRightAngleTriangle.area();
}