import java.util.;
public class Main{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
double l ,h ,z;//此处可以不初始化,原因未知
Cubic c = new Cubic();
Pyramid p = new Pyramid();
while(in.hasNextDouble()){
l = in.nextDouble();
h = in.nextDouble();
z = in.nextDouble();
c.judge(l,h,z);
p.judge(l,h,z);
System.out.printf("%.2f %.2f %.2f %.2f\n", c.area(),c.v(),p.area(),p.v());
}
in.close();
}
}
class Rect{
double l,h,z;
public void judge(double l,double h,double z){
if(l <= 0|| h <= 0|| z <= 0) this.l = this.h = this.z = 0;
else{
this.h = h;
this.l= l;
this.z = z;
}
}
public double length(){//此处可在括号内加上或不加,原因在于子类不再引用该方法
return 2(this.l+this.h);//在括号中加入相应的变量,在下方语句中不需引用this
}
public double area(double l,double h){//此处必须在括号中加入,子类重写该方法,如果引用this来使用变量,则子类不能使用变量
return l * h;
}
}
class Cubic extends Rect{
double area(){
return 2*(lh+lz+hz);
}
double v(){
return area(l,h)z;
}
}
class Pyramid extends Rect{
double area(){
double x1 =ll/4l+zz;
x1 = Math.sqrt(x1)h;
double x2 = hh/4+z*z;
x2 = Math.sqrt(x2)l;
return x1 + x2 +lh;
}
double v(){
return area(l,h)*z/3;
}
}
计算长方体、四棱锥的表面积和体积
最新推荐文章于 2023-11-11 21:52:24 发布