用java编写,求总面积

来源:百度知道 编辑:UC知道 时间:2024/09/25 03:25:57
假设有两个Circle(圆形,半径r1=2,r2=3),以及两个Rectangle(长方形,长宽w1=2,h1=3,w2=3,h2=4),编程计算它们的总面积。 (35分)
要求:
1).用面向对象编程,先建立一个抽象类Shape,Shape中有一抽象方法area()--用于求图形的面积;
2).编写两个类,Circle类和Rectang类继承抽象类Shape,两个类中包含两个方法:构造方法(用于初始化)和area()方法(用于重写父类的抽象方法);
3).编写一主方法,用一个数组shape[],接受所有的形状,然后用:
for (i=0; i<shape.length; i++)
{
area_total += shape[i].area();
}
求总面积;

不考虑精度的话。。

public class ShapeTest {
abstract class Shape
{
int area(){
return 0;
};
}
class Circle extends Shape
{
int r;//半径
int area;
Circle (int i)
{
this.r=i;
}

int area()
{
return this.area=(int) (r*r*3.14);
}
}
class Rectang extends Shape
{
int a; //长
int b; //宽
int area;
Rectang(int i,int j)
{
this.a=i;
this.b=j;
}
int area()
{
return this.area=(int) (a*b);
}
}

public static void main(String[] args)
{
int area_total = 0;
ShapeTest st=new ShapeTest();
Shape [] shape={st.new Circle(1),st.new Circle(2),st.new Rectang(2,3),st.new Rectang(3,4)};
for (int i=0;i<shape.length;i++)
{
area_total += shape[i].area();
}
System.out.println(area_total);
}<