Description
先定义一个接口IComVolume,有一个方computeVolume,有一 个常量PI为3.14。
然后定义一个实现该接口的圆柱体Cylinder类,有double类型的半径和高两个属性。
再定义一一个实现该接口的长方体Block类,有double类型的长和宽、高三个属性。
要求main方法中至少包含如下代码(这些语句不要求必须放在一起) :
IComVolume icv;
icv=new Cylinder(r,h) ;
icv=new Block(a,b,C) ;
icv . computeVolume () ;
Input
第一行输入数据的组数N,然后有N组数据。每组数据由-一个字符 和几个浮点数组成,第一个是图形 类型,c表示Cylinder. b表示
Block;如果前面是c,后面跟两个浮点,分别为圆柱底半径和高;如果是b后面跟三个浮点,分别为长宽高。
Output
图形类型及其体积(精度保留2位)。
package CLASSlei;
import java.io.InputStream;
import java.util.Scanner;
interface IComVolume{
public static final double PI=3.14;
public double computeVolume();
}
class Cylinders implements IComVolume{
double r;
double h;
public Cylinders(double r,double h){
this.r=r;
this.h=h;
}
public double computeVolume(){
return (IComVolume.PI*r*r*h);
}
}
class block implements IComVolume{
double a;
double b;
double c;
public block(double a,double b,double c){
this.a=a;
this.b=b;
this.c=c;
}
public double computeVolume(){
return a*b*c;
}
}
public class I {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
while (n!=0){
n--;
String s=input.next();
char c=s.charAt(0);
if(c=='c'){
double r=input.nextDouble();
double h=input.nextDouble();
Cylinders s1=new Cylinders(r,h);
System.out.printf("Cylinder:%.2f\n",s1.computeVolume());
}
else if(c=='b'){
double a=input.nextDouble();
double b=input.nextDouble();
double x=input.nextDouble();
block s2=new block(a,b,x);
System.out.printf("Block:%.2f\n",s2.computeVolume());
}
}
}
}