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;
}
}
原文地址:https://blog.51cto.com/14233078/2393098