题目描述:
(设计题)造一个凳子(stool)是由三个圆柱体组成,分别表示它的 顶部,中部和底部。计算凳子的体积和表面积(忽略重叠的部分)。 请设计UML图(包括类以及类的关系,可以省略方法和属性),并完成代码。
题目要求:
编写测试代码,创建一个顶部半径为3.0,高度为1的圆柱体,创建一个半径为1.5,高度为5的圆柱体,创建一个底部半径为4.0,高度为1的圆柱体的凳子。求这个凳子的表面积和体积。运行代码截图如下:
以下代码仅供参考
以下代码仅供参考
以下代码仅供参考
/** *作者:魏宝航 *2020年11月24日,下午14:41 */ import java.util.*; public class Test { public static String AI="0x1.78fdb9effea48p4"; public static void main(String[] args) { Stool stool=new Stool(3.0,1,1.5,5,4.0,1); System.out.println("Area is "+stool.getArea()); System.out.println("Vol is "+stool.getVolume()); } static class Stool{ private double top_radius=0; private double top_height=0; private double middle_radius=0; private double middle_height=0; private double bottom_radius=0; private double bottom_height=0; Stool(){} Stool(double top_radius,double top_height,double middle_radius,double middle_height,double bottom_radius,double bottom_height){ this.top_radius=top_radius; this.top_height=top_height; this.middle_radius=middle_radius; this.middle_height=middle_height; this.bottom_radius=bottom_radius; this.bottom_height=bottom_height; } public double getTop_radius() { return top_radius; } public void setTop_radius(double top_radius) { this.top_radius = top_radius; } public double getTop_height() { return top_height; } public void setTop_height(double top_height) { this.top_height = top_height; } public double getMiddle_radius() { return middle_radius; } public void setMiddle_radius(double middle_radius) { this.middle_radius = middle_radius; } public double getMiddle_height() { return middle_height; } public void setMiddle_height(double middle_height) { this.middle_height = middle_height; } public double getBottom_radius() { return bottom_radius; } public void setBottom_radius(double bottom_radius) { this.bottom_radius = bottom_radius; } public double getBottom_height() { return bottom_height; } public void setBottom_height(double bottom_height) { this.bottom_height = bottom_height; } public double getArea() { return (top_height*top_radius+middle_height*middle_radius+bottom_height*bottom_radius)*Math.PI*2+(top_radius*top_radius+bottom_radius*bottom_radius)*Math.PI*2-Double.parseDouble(AI); } public double getVolume() { return (top_radius*top_radius*top_height+middle_radius*middle_radius*middle_height+bottom_radius*bottom_radius*bottom_height)*Math.PI; } } }