package step1;
//在这完成Square类的编写
public class Square extends Rectangle{
private double a;
Square(double a){
super(a,a);
}
}
package step1;
//在这完成Circle类的编写
public class Circle extends Shape2D{
private double r;
public Circle(double r){
this.r=r;
}
public double getL(){
return 2*Math.PI*r;
}
public double getArea(){
return Math.PI*r*r;
}
}
package step1;
//在这完成Triangle类的编写
public class Triangle extends Shape2D{
private double a;
private double b;
private double c;
public Triangle(double a,double b,double c){
this.a=a;
this.b=b;
this.c=c;
}
public double getL(){
if(a+b<c||a+c<b||b+c<a||a-b>c||a-c>b||b-a>c||b-c>a||c-a>b||c-b>a){
return -1;
}else{
return a+b+c;
}
}
public double getArea(){
if(a+b<c||a+c<b||b+c<a||a-b>c||a-c>b||b-a>c||b-c>a||c-a>b||c-b>a){
return -1;
}else{
double p=(a+b+c)/2.0;
return Math.sqrt(p*(p-a)*(p-b)*(p-c));
}
}
}
package step1;
//在这完成Rectangle类的编写
public class Rectangle extends Shape2D{
private double a;
private double b;
public Rectangle(double a,double b){
this.a=a;
this.b=b;
}
public double getL(){
return (a+b)*2;
}
public double getArea(){
return a*b;
}
}
package step1;
//在这完成Square类的编写
public class Square extends Rectangle{
private double a;
Square(double a){
super(a,a);
}
}