方法的重载与构造方法-定义“圆形”(Circle) 和“三角形” (Triangle)类

任务描述:
Circle类具有类型为double的半径及周长、面积3个私有属性;具有设置半径的功能;具有返回周长和面积的功能。
Triangle类具有类型为double的三个边长及周长、面积私有属性;还有一个boolean类型的属性bool,用来判断三个边长是否构成一个三角形;具有设置三个边的功能;具有返回周长和面积的功能。
创建一个测试类Test,在类中分别创建Triangle和Circle的对象并调用方法输出圆形/三角形的周长和面积。

class Circle {
    private double radius,circumference,area;//具有类型为double的半径及周长、面积3个私有属性
    public Circle(double r) {//方法
        setRadius(r);
    }
    public void setRadius(double r){//具有设置半径的功能
        radius=r;
    }
    double getCircumference() {//具有返回周长的功能
    circumference=2*Math.PI*radius;
    return circumference;
    }
    double getArea() {//具有返回面积的功能
    area=Math.PI*radius*radius;
    return area;
    }
}
class Triangle {
    private double sideA,sideB,sideC,area,circumference;//具有类型为double的三个边长及周长、面积私有属性
    boolean boon;//还有一个boolean类型的属性boon用来判断三个边长是否构成一个三角形(1)
    public Triangle(double a, double b, double c) {//方法
        setSide(a,b,c);
    }
    public void setSide(double a, double b,double c){//具有设置三个边的功能
        sideA=a;
        sideB=b;
        sideC=c;
        if(a+b>c&&a+c>b&&b+c>a) {//还有一个boolean类型的属性boon用来判断三个边长是否构成一个三角形(2)
            boon=true;
        }
        else {
            boon=false;
        }
    }
    double getCircumference() {//具有返回周长的功能
        if(boon) {
            circumference=sideA+sideB+sideC;
            return circumference;
        }
        else {
            System.out.println("不成三角形!");
            return 0;
        }
    }
    double getArea() {//具有返回面积的功能
        if(boon) {
            double n=(sideA+sideB+sideC)/2.0;
            area=Math.sqrt(n*(n-sideA)*(n-sideB)*(n-sideB));
            return area;
        }
        else {
            System.out.println("不成三角形!");
            return 0;
        }
    }
}
public class Test {
    public static void main(String[] args) {
        double circumference,area;
        Circle circle=null;//分别创建Triangle和Circle的对象
        Triangle triangle=null;
        
        circle=new Circle(5);//这里设置圆的半径
        triangle= new Triangle(3,4,5);//这里设置三角形的三边长
        circumference=circle.getCircumference();//调用方法输出圆形的周长
        area=circle.getArea();//调用方法输出圆形的面积
        System.out.println("圆的\n周长是"+circumference+"\n面积是"+area);
        System.out.println();
        circumference=triangle.getCircumference();//调用方法输出三角形的周长
        area=triangle.getArea();//调用方法输出三角形的面积
        System.out.println("三角形的\n周长是"+circumference+"\n面积是"+area);
    }

版权声明:本文为m0_47482373原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。