package Test;
import java.util.*;
/*
* (1)定义一个表示形状的抽象类,在抽象类中定义一个求面积的抽象方法, 通过定义继承这个抽象类的不同形状类(分别定义三角形、正方形和圆形类)
* 并在各个类中重写抽象类中定义的求面积的抽象方法,从而实现方法的重载(多态性)。 在主类中创建不同类的对象,并求得不同形状的面积并输出。
*/
abstract class area{
public abstract int acreage();
}
class triangle extends area{
public int acreage() {
int S,a,b;//S面积,a,b表底和高
Scanner s=new Scanner(System.in);
a=s.nextInt();
b=s.nextInt();
S=a*b/2;
return S;
}
}
class square extends area{
public int acreage() {
int S,a;//S面积,a边长
Scanner s=new Scanner(System.in);
a=s.nextInt();
S=a*a;
return S;
}
}
class round extends area{
public int acreage() {
int S,r;//S面积,r半径
Scanner s=new Scanner(System.in);
r=s.nextInt();
S=r*r*(int)3.14;
return S;
}
}
public class 面积 {
public static void main(String arg[]){
int Ss,Sz,Sy;
triangle tr=new triangle();
square sq=new square();
round ro=new round();
System.out.println("请输入底a,高b:\n");
Ss=tr.acreage();
System.out.println("三角形的面积为"+Ss);
System.out.println("请输入正方形的边长:\n");
Sz=sq.acreage();
System.out.println("正方形的面积为"+Sz);
System.out.println("请输入圆的半径r:\n");
Sy=ro.acreage();
System.out.println("圆形的面积为"+Sy);
}
}