设计一个综合性的形状计算器
- 可计算周长、面积;
- 计算长方形、正方形、圆形、三角形;
- 要求:给出一组不同的形状对象,能正确识别形状,计算周长和面积,显示其他属性信息。
上机作业代码如下(代码很烂,仅供参考):
- /*文件名 Test.java*/
- class Shape{
- String name;
- public String getName(){ return name; } //返回形状的名称
- public float area() { return 0; } //抽象的形状,其面积为0
- public int zhouchang() { return 0; }
- }
- class Circle extends Shape {//圆
- int R;
- Circle(String s, int r){ name=s; R=r; }
- public float area() { return 3 *R *R ;}
- public int zhouchang() { return 3 *2 *R ;}
- }
- class Changfangxing extends Shape{//长方形
- int W, H;
- Changfangxing(String s, int w, int h){ name=s; W=w; H=h;}
- public float area() { return W*H ;}
- public int zhouchang() { return 2*(W+H) ;}
- }
- class Zhengfangxing extends Shape{//正方形
- int W;
- Zhengfangxing(String s, int w){ name=s; W=w;}
- public float area() { return W*W ;}
- public int zhouchang() { return 4*W ;}
- }
- class Sanjiaoxing extends Shape{//三角形
- int A, B,C;
- Sanjiaoxing(String s, int a, int b,int c){ name=s; A=a;B=b ;C=c;}
- public float area() {
- float p = (A+B+C)/2;
- return (float)Math.sqrt(p*(p-A)*(p-B)*(p-C)) ;}
- public int zhouchang() { return (A+B+C) ;}
- }
- public class Test {
- public static void main(String args[] ){
- Shape[] s={new Circle("圆形",10),new Changfangxing("长方形",2, 3),new Zhengfangxing("正方形",3),new Sanjiaoxing("三角形",3,4,5)};
- System.out.println(s[0].getName()+"周长="+s[0].zhouchang()+" 面积=" + s[0].area()+" ");
- System.out.println(s[1].getName()+"周长="+s[1].zhouchang()+" 面积=" + s[1].area());
- System.out.println(s[2].getName()+"周长="+s[2].zhouchang()+" 面积=" + s[2].area());
- System.out.println(s[3].getName()+"周长="+s[3].zhouchang()+" 面积=" + s[3].area());
- }
- }
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏