编辑代码

import java.lang.Math;

abstract class Geometric{
    private String color;
    private Boolean filled;

    public Geometric(){}
    public Geometric(String color,Boolean filled){
        this.color = color;
        this.filled = filled;
    }
    public abstract double getArea();
    public abstract double getPerimeter();

    @Override
    public String toString(){
        return "Geometric{" +
        "color=‘" + color + '\'' +
        ",filled=" + filled +
        '}';

    }
}

public class Circle extends Geometric{
    private double PI = 3.14;
    private double radius;
    public Circle(){}
    public Circle(double radius){
        this.radius = radius;
    }

    public double getRadius(){
        return radius;
    }
    public void setRadius(){
        this.radius = radius;
    }

    public double getArea(){
        return PI * radius * radius ;
    }
    public double getPerimeter(){
        return PI*radius*2;
    }

    @Override
    public String toString(){
        return "Circle{" +
                "PI=" + PI +
                ", radius=" + radius + 
                '}' ;
    }
}

public class Rectangle extends Geometric{
    private double side1,side2;

    public Rectangle(){}
    public Rectangle(double side1 , double side2){
        this.side1 = side1;
        this.side2 = side2;
    }
    public double getSide1(){
        return side1;
    }
    public void setSide1(double side1){
        this.side1 = side1;
    }
    public double getSide2(){
        return side2;
    }
    public void setSide2(double side2){
        this.side2 = side2;
    }

    public double getArea(){
        return side1*side2;
    }
    public double getPerimeter(){
        return (side1 + side2)*2;
    }

    @Override
    public String toString(){
        return "Rectangle{" +
        "side1=" + side1 +
        ",side2=" +side2 +
        '}'; 
    }
}

public class Triangle extends Geometric{
    private double side1,side2,side3;
    public Triangle(){}
    public Triangle(double side1 ,double side2,double side3){
        this.side1 = side1;
        this.side2 = side2;
        this.side3 = side3;
    }

    public double getSide1(){
        return side1;
    }
    public void setSide1(){
        this.side1 = side1;
    }
        public double getSide2(){
        return side2;
    }
    public void setSide2(){
        this.side2 = side2;
    }
        public double getSide3(){
        return side3;
    }
    public void setSide3(){
        this.side3 = side3;
    }

    public double getArea(){
        double p = (side1 + side2+side3)/2;
        return Math.sqrt(p*(p-side1) * (p-side2) * (p-side3));
    }
    public double getPerimeter(){
        return side1 + side2 + side3;
    }

    public Boolean isTriangle(){
        if( side1+side2 <= side3 ||side1+side3 <= side2 || side3+side2 <= side1 ){
            return false;
        }
        else{
            return true;
        }
    }

    @Override
    public String toString(){
        return "Triangle{" +
        "side1=" + side1 +
        ",side2=" +side2 +
        ",side3=" +side3 +
        '}'; 
    }

}    


public class Test{
    public static void main(String[] args){
        Circle c = new Circle(2.5);
        Rectangle r = new Rectangle(5.2,2.5);
        Triangle t = new Triangle(3.8,4.8,5.8);
        System.out.println("测试半径为2.5的Circle:");
        System.out.println("Circle的面积:"+ c.getArea());
        System.out.println("Circle的周长:" + c.getPerimeter());
        System.out.println("测试半径为5.2和2.5的Rectangle:");
        System.out.println("Rectangle的面积:" + r.getArea());
        System.out.println("Rectangle的周长:" + r.getPerimeter());  

        System.out.println("测试半径为3.8,4.8,5.8的Triangle:");
        if (t.isTriangle()){
            System.out.println("边长合法,能构成三角形");
            System.out.println("的Triangle的面积:" + t.getArea());
            System.out.println("的Triangle的周长:" + t.getPerimeter()); 
        }
        else{
            System.out.println("边长不合法,不能构成三角形");
        }
               
    }
}