package shiyan5;
public abstract class Shape {
public abstract void getArea();
public abstract void getPerimeter();
}
package shiyan5;
import Shape.*;
class Circle extends Shape {
double r;
public Circle(double r)
{
this.r= r;
}
public void getArea()
{
System.out.println("圆的面积是:"+(3.14*r*r));
}
public void getPerimeter()
{
System.out.println("圆的周长是:"+(2*3.14*r));
}
}
package shiyan5;
import Shape.*;
class Rectangle extends Shape {
public double x;
public double y;
public Rectangle(double x,double y)
{
this.x= x;
this.y= y;
}
public void getArea()
{
System.out.println("矩形的面积是:"+(x*y));
}
public void getPerimeter()
{
System.out.println("矩形的周长是:"+(2*(x+y)));
}
}
package shiyan5;
import Shape.*;
import java.lang.Math;
class Triangle extends Shape {
public double a,b,c,p,s;
public Triangle(double a,double b,double c)
{
this.a= a;
this.b= b;
this.c= c;
}
public void getArea()
{
if(a+b<= c||a+c <= b||b+c<= a)
System.out.println("不能构成三角形");
else
{
p = (a+b+c)/2;
s = Math.sqrt(p*(p-a)*(p-b)*(p-c));
System.out.println("三角形的面积是:"+s);
}
}
public void getPerimeter()
{
if(a+b<= c||a+c <= b||b+c<= a)
System.out.println("不能构成三角形");
else
{
System.out.println("三角形的周长是:"+(a+b+c));
}
}
}
package shiyan5;
public class TestShape {
public static void main (String[] args)
{
Shape p1,p2,p3;
p1 = new Circle(1.0);
p2 = newRectangle(2.0,3.0);
p3 = newTriangle(3.0,4.0,5.0);
p1.getArea();
p1.getPerimeter();
p2.getArea();
p2.getPerimeter();
p3.getArea();
p3.getPerimeter();
}
}