我对Java真的很陌生,我知道我需要为这些方法做什么,我只是想把它翻译成代码哈哈我想我只是对哪个对象正在调用方法等感到困惑等等。
所以我正在尝试编写一个名为 maxSurfaceArea 的方法,该方法接收一组具有特定尺寸的形状,并找到具有最大表面积的形状。所以我试图做的是将包含形状的第一个索引分配给 currentSurfaceArea 和 maxSurfaceeArea。然后该方法需要转到数组的下一个索引,检查表面积,如果它大于前一个 maxSurfaceArea,则将该新形状分配给 maxSurfaceArea,并重复所有操作,直到数组结束。在这个程序中,我在主方法类中调用此方法,但在此之外,我有一个名为 Shape 的类,其中没有任何内容。还有一个 Circle、Triangle、Rectangle 类(每个都是一个单独的类),它们都从 Shape 扩展而来。也是一个 Sphere 类(从 Circle 扩展),
每个类都有自己的 .computeArea 方法,它们由主类调用的 toString 方法输出。
我感到困惑的一件事是我知道如果我将 maxSurfaceArea 设为一个布尔值,它就不能转换为“形状”,因为这是它所接受的数组类型。我只是不知道。任何帮助将非常感激。
public static Shape[] shapeList;
public static void main (String[] args)
{
shapeList = new Shape[8];
shapeList[0] = new Sphere(7.4);
shapeList[1] = new Prism(5,4.5,4);
shapeList[2] = new Tetrahedron(4,5);
shapeList[3] = new Cylinder(3.14, 4.5);
shapeList[4] = new Prism(1, 2, 3);
shapeList[5] = new Tetrahedron(2.34, 3.56);
shapeList[6] = new Sphere(2.5);
shapeList[7] = new Cylinder(6.7, 3.3);
for (int i = 0; i < shapeList.length; i++)
{
System.out.println(shapeList[i].toString());
}
}
public static void maxSurfaceArea(Shape[] shapeList)
{
boolean maxSurfaceArea, currentSurfaceArea;
for (int i = 0; i < shapeList.length; i++)
{
currentSurfaceArea = (shapeList[i]);
maxSurfaceArea = (shapeList[i])
if (shapeList[i].computeArea() > )
{
}
}