下图给定了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
请使用如下测试程序进行测试:
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){
//请补充代码计算圆柱体的体积
}
}