早教吧作业答案频道 -->其他-->
求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、程序急急急定义一...的网友还看了以下:
t.a.t.m.r.e怎么组成英语单词,中学文又是什么? 2020-05-12 …
连字成词(英语)l u o e b s r u s r e t o s w a e s r t e 2020-05-14 …
按字母拼单词1、M-F-R-R-E-A2、V-T-E-S3、O-S-E-M-U4、S-L-U-E- 2020-05-16 …
●设有关系模式R (E,N,M,L,Q),其函数依赖集为F={ E→N,EM→Q,M→L)。则关系模 2020-05-26 …
● 设有关系模式R (E,N,M,L,Q),其函数依赖集为F={ E→N,EM→Q,M→L)。则关系 2020-05-26 …
纵横字谜之英语暑假作业题(s)(o)(r)(r)(n)(g)(r)(e))(a)(k)(k)(e) 2020-06-06 …
英语单词填空1.时间状语:d-r-n-2.场所:b-s-s-o-f-r--e-a-t-e-t3.教 2020-07-14 …
设函数f(x)=lnx+m/x,m∈R(1)当m=e(e为自然对数的底数时),求f(x)的极小值设 2020-07-26 …
惫设f(x)=-m(m+e)x2,g(x)=x2+(m-1)x-m,其中e均自然对数的底数,若∃x 2020-08-02 …
js中的竖线是什么意思('GN="";81e(M,h){9(N!=""){7(N).r="Y"}9( 2021-02-04 …