java用接口定义pI_求java、程序 急急急定义一接口Column,然后声明类实现其接口,实现相关功能。要求如下:(1)常量 PI 圆周率...

共回答了21个问题采纳率:90.5%

/**

*柱体

*/

interface Column {

double PI = Math.PI;

double getArea();// 求表面积

double getVolume();// 求得柱体的体积

void display();// 将柱体的表面积和体积输出

}

/**

* @author Administrator

* 圆柱体

*/

class Cylinder implements Column {

private double radius;

private double height;

public Cylinder(double radius, double height) {

this.radius = radius;

this.height = height;

}

@Override

public double getArea() {

return 2 * PI * radius * (radius + height);

}

@Override

public double getVolume() {

return PI * Math.pow(radius, 2) * height;

}

@Override

public void display() {

System.out.println("%%%圆柱体:n表面积= " + getArea() + ",体积=" + getVolume());

}

public double getRadius() {

return radius;

}

public void setRadius(double radius) {

this.radius = radius;

}

public double getHeight() {

return height;

}

public void setHeight(double height) {

this.height = height;

}

}

/**

* @author Administrator

* 立方体

*/

class Cube implements Column {

private double sideLength;

public Cube(double sideLength) {

this.sideLength = sideLength;

}

@Override

public double getArea() {

return 6*Math.pow(sideLength, 2);

}

@Override

public double getVolume() {

return Math.pow(sideLength, 3);

}

@Override

public void display() {

System.out.println("%%%立方体:n表面积= " + getArea() + ",体积=" + getVolume());

}

public double getSideLength() {

return sideLength;

}

public void setSideLength(double sideLength) {

this.sideLength = sideLength;

}

}

/**

* @author Administrator

* 球体

*/

class Ball implements Column {

private double radius;

public Ball(double radius) {

this.radius = radius;

}

@Override

public double getArea() {

return 4*PI*Math.pow(radius,2);

}

@Override

public double getVolume() {

return 4.0/3*PI*Math.pow(radius,3);

}

@Override

public void display() {

System.out.println("%%%球体:n表面积= " + getArea() + ",体积=" + getVolume());

}

public double getRadius() {

return radius;

}

public void setRadius(double radius) {

this.radius = radius;

}

}

/**

* @author Administrator

* 测试类

*/

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

Column columns[] = { new Cylinder(1, 3), new Cube(1), new Ball(2) };

for (Column column : columns) {

column.display();

}

}

}

1年前

2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值