java编程三角形(Triangle类)继承

import java.util.Scanner;

public class Test 
{
    public static void main(String[] args) 
    {
        System.out.println("请输入三角形的三条边,颜色,是否填充(true or false)");
        Scanner input=new Scanner(System.in);
        double side1=input.nextDouble();
        double side2=input.nextDouble();
        double side3=input.nextDouble();
        String color=input.next();
        boolean filled=input.nextBoolean();
        Triangle tri=new Triangle(side1,side2,side3,color,filled);
        System.out.println(tri);//调用Triangle类
        System.out.println("Area:"+tri.getArea());
        System.out.println("Perimeter:"+tri.getPerimeter());
        System.out.println("Color:"+tri.getColor());
        System.out.println("IsFilled:"+tri.getFilled());
    }  
}
class GeometricObject
{
    private String color="white";
    private boolean filled=false;
    public GeometricObject()
    {
    }
    public GeometricObject(String color,boolean filled)
    {
        this.color=color;
        this.filled=filled;
    }
    public String getColor()
    {
        return color;
    }
    public boolean getFilled()
    {
        return filled;
    }
    public void setColor(String color)
    {
        this.color=color;
    }
    public void setFilled(boolean filled)
    {
        this.filled=filled;
    }
    public String toString()
    {
        return "Color:"+color+"Filled:"+filled;
    }
}
class Triangle extends GeometricObject
{
    private double side1=1;
    private double side2=1;
    private double side3=1;
    public Triangle()
    {
    }
    public Triangle(double a,double b,double c,String color,boolean filled)
    {
        super(color,filled);
        if(a+b>c&&a+c>b&&b+c>a)
        {
            side1=a;
            side2=b;
            side3=c;
        }
        else
        {
            System.out.println("输入的不是三角形!");
        }
    }
    public double getSide1()
    {
        return side1;
    }
    public double getSide2()
    {
        return side2;
    }
    public double getSide3()
    {
        return side3;
    }
    public double getArea()
    {
        double s=(side1+side2+side3)/2;
        return Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));//面积公式
    }
    public double getPerimeter()
    {
        return side1+side2+side3;
    }
    public String toString()
    {
        return "Triangle:side1="+side1+"  side2="+side2+"  side3="+side3;
    }
}
上一篇:LeetCode 36. Valid Sudoku


下一篇:Election campaign, Zhiyun (Richard) Peng, position of Organizer II