实验内容题2帮帮忙吧

img

不难的,可以直接自己操作,
有问题来交流


public class Testshape{
    public static void main(String[] args) {
        ShapeCalculate s = new ShapeCalculate();
        double circleArea = s.getCircleArea(5, 3.14);
        System.out.println("半径为5的圆的面积是:"+circleArea);
        double circlePerimeter = s.getCirclePerimeter(5, 3.14);
        System.out.println("半径为5的圆的周长是:"+circlePerimeter);
        double rectanglePerimeter = s.getRectanglePerimeter(5, 4);
        System.out.println("长为5,宽为4的长方形的周长为:"+rectanglePerimeter);
        double rectangleArea = s.getRectangleArea(5, 4);
        System.out.println("长为5,宽为4的长方形的面积为:"+rectangleArea);
    }
}
abstract class ShapeCircle{
    //1.求圆的周长
    public abstract double getCirclePerimeter(double r,double PI);
    //2.求圆的面积
    public abstract double getCircleArea(double r,double PI);


}
abstract class ShapeRectangle{
    //3.求长方形的周长
    public abstract double getRectanglePerimeter(double x,double y);
    //4.求长方形的面积
    public abstract double getRectangleArea(double x,double y);
}
class Circle extends ShapeCircle{

    double PI=3.14;
    double r;

    @Override
    public double getCirclePerimeter(double r, double PI) {
        double perimeter = PI*r*2;
        return perimeter;
    }

    @Override
    public double getCircleArea(double r, double PI) {
        double area = PI*r*r;
        return area;
    }
}
class Rectangle extends ShapeRectangle {
    double x,y;

    @Override
    public double getRectanglePerimeter(double x, double y) {
        return (x+y)*2;
    }

    @Override
    public double getRectangleArea(double x, double y) {
        return x*y;
    }
}
class ShapeCalculate{
    public double getCirclePerimeter(double r, double PI) {
        double perimeter = PI*r*2;
        return perimeter;
    }


    public double getCircleArea(double r, double PI) {
        double area = PI*r*r;
        return area;
    }
    public double getRectanglePerimeter(double x, double y) {
        return (x+y)*2;
    }

    public double getRectangleArea(double x, double y) {
        return x*y;
    }
}