私はJavaが初めてで、これらのメソッドに対して何をする必要があるのか わかりません。これをコードに変換しようとしているだけです。どのオブジェクトがメソッドを呼び出しているかなどについて混乱していると思います。など。
したがって、特定の寸法が指定された形状の配列を取り、最大表面積を持つ形状を見つける maxSurfaceArea というメソッドを作成しようとしています。だから私がしようとしていたのは、形状を含む最初のインデックスを currentSurfaceArea と maxSurfaceeArea に割り当てることでした。次に、メソッドは配列の次のインデックスに移動し、表面積をチェックして、前の maxSurfaceArea よりも大きい場合はその新しい形状を maxSurfaceArea に割り当て、配列の最後まですべてを繰り返す必要があります。このプログラムでは、メイン メソッド クラスでこのメソッドを呼び出していますが、その外側には何も含まれていない Shape というクラスがあります。また、すべて Shape から拡張される Circle、Triangle、Rectangle クラス (それぞれ個別のクラス)。また、Sphere クラス (Circle から拡張)、
各クラスには独自の .computeArea メソッドがあり、メイン クラスによって呼び出される toString メソッドによって出力されます。
私が混乱していることの 1 つは、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() > )
{
}
}