一道Java问题怎么做

下图给定了GeometrObject类及子类层次图,分别实现GeometricObject、Circle和Rectangle类。要求:

1)GeometricObject类的toString()方法,返回对象的颜色和是否填充信息;

    (2)Circle类的getArea()、getPerimeter()和getDiameter()方法返回圆的面积、周长和直径;printCircle()方法用于输出圆的半径、面积、周长和直径;

    (3)Rectangle类的getPerimeter()方法返回矩形的周长,getArea()方法分别返回矩形的面积;

    在测试类中完成如下工作:

    (4)请补充public static boolean IsCylinder(Circle c, Rectangle r)方法的代码判定该圆及矩形能否构成圆柱体;

    (5)请补充public static double getVolume(Circle c, Rectangle r)方法的代码计算圆柱体的体积。

提示:圆周率使用3

img

img

 请使用如下测试程序进行测试:

    import java.util.Scanner;

public class TestCircleRectangle {

public static void main(String[] a){

    Scanner input = new Scanner(System.in);

    Circle c = new Circle(input.nextDouble(), input.next(), input.nextBoolean());

    Rectangle r = new Rectangle();

    r.setWidth(input.nextDouble());

    r.setHeight(input.nextDouble());

    r.setColor(input.next());

    r.setFilled(input.nextBoolean());

    c.printCirlce();

    System.out.println();

    System.out.println("矩形的宽为" + r.getWidth() + "\n矩形的长为" + r.getHeight() );

    System.out.println(r.toString());

    System.out.println();



    if (IsCylinder(c,r))

        System.out.println("该圆形和矩形的信息能构成一个圆柱体,其体积是" + getVolume(c,r));

    else     System.out.println("该圆形和矩形的信息不能构成一个圆柱体");

}



public static boolean IsCylinder(Circle c, Rectangle r){

    //请补充代码判定该圆及矩形能否构成圆柱体

}

public static double getVolume(Circle c, Rectangle r){

    //请补充代码计算圆柱体的体积

}

}