早教吧作业答案频道 -->其他-->
求java、程序急急急定义一接口Column,然后声明类实现其接口,实现相关功能。要求如下:(1)常量PI圆周率(2)接口Column的方法:doublegetArea()求表面积doublegetVolume()
题目详情
求java、程序 急急急
定义一接口Column,然后声明类实现其接口,实现相关功能。要求如下:
(1)常量
PI 圆周率
(2)接口Column的方法:
double getArea() 求表面积
double getVolume() 求得柱体的体积
void display() 将柱体的长、宽、高、周长和体积输出
(3)分别分别声明类Cylinder、Cube和Ball,实现接口中的抽象方法
(4)声明以测试类,分别输出圆柱体、立方体和球的相关数据,计算表面积和体积并输出
定义一接口Column,然后声明类实现其接口,实现相关功能。要求如下:
(1)常量
PI 圆周率
(2)接口Column的方法:
double getArea() 求表面积
double getVolume() 求得柱体的体积
void display() 将柱体的长、宽、高、周长和体积输出
(3)分别分别声明类Cylinder、Cube和Ball,实现接口中的抽象方法
(4)声明以测试类,分别输出圆柱体、立方体和球的相关数据,计算表面积和体积并输出
▼优质解答
答案和解析
/**
*柱体
*/
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();
}
}
}
*柱体
*/
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();
}
}
}
看了 求java、程序急急急定义一...的网友还看了以下:
1.一半径为R的带电球壳,表面上均匀带电,电荷量为Q,试求:(1)球壳内、外的场强分布;(2)球壳 2020-05-16 …
设a>0,f(x)=e^x/a+a/e^x是R上的偶函数,求a值.∵f(x)=e^x/a+a/e^ 2020-05-17 …
线圈的感应电动势在一个线圈的两端加上U,线圈产生的感应电动势E1,假设线圈的电阻不为0,那么它们之 2020-06-08 …
英语单词填空1.时间状语:d-r-n-2.场所:b-s-s-o-f-r--e-a-t-e-t3.教 2020-07-14 …
matlab求解二阶导数方程,四个方程四个未知量>>symst>>E=32;G=10.81;b=2 2020-07-19 …
在球坐标系中,已知矢量A=e(r)a+e(θ)b+e(φ)c,其中a、b和c均为常数.(1)问矢量 2020-07-21 …
写单词,这些单词打乱顺序了!:1.d,f,e,n,i,f,e,r,t,()2.g,h,o,e,t, 2020-07-26 …
从E-R图导出关系模型时,如果两实体间的联系是m:n的,下列说法正确的是()从E-R图导出关系模型时 2020-11-02 …
有四种短周期的主族元素R,E,X,Y,其在周期表中的位置如图所示R,X,Y的原子序数之和为37,下列 2020-12-05 …
有谁可以帮我用以下字母为英文开头,按顺序写一段话[用英文]字母是I,L,O,V,E,S,U,E请顺便 2020-12-05 …