计算球,圆柱,圆锥的表面积和体积。

利用接口实现。

上代码。

Contants.java

常量存储类

package com.fuxuemingzhu.solidgraphics.contants;/*** <p>* Title: Contants* </p>* <p>* Description:常量类,存放程序里用到的常量值* </p>* * @author fuxuemingzhu* * @email fuxuemingzhu@163.com* * @date 2014年10月28日 下午2:18:43*/
public class Contants {/*** PI 圆周率*/public static float PI = (float) Math.PI;}

SolidGraphics.java

立体图形接口,所有立体图形都要实现这个接口

package com.fuxuemingzhu.solidgraphics.base;/*** <p>* Title: SolidGraphics* </p>* <p>* Description:立体图形接口,所有立体图形都要实现这个接口* </p>* * @author fuxuemingzhu* * @email fuxuemingzhu@163.com* * @date 2014年10月28日 下午1:52:22*/
public interface SolidGraphics {/*** <p>* Title: caculateArea* </p>* <p>* Description:计算立体图形的表面积* </p>* * @return 立体的表面积* */public float caculateArea();/*** <p>* Title: caculateVolume* </p>* <p>* Description:计算立体图形的体积* </p>* * @return 立体的体积* */public float caculateVolume();}

Ball.java

球类

package com.fuxuemingzhu.solidgraphics.entity;import com.fuxuemingzhu.solidgraphics.base.SolidGraphics;
import com.fuxuemingzhu.solidgraphics.contants.Contants;/*** <p>* Title: Ball* </p>* <p>* Description:球类* </p>* * @author fuxuemingzhu* * @email fuxuemingzhu@163.com* * @date 2014年10月28日 下午1:54:53*/
public class Ball implements SolidGraphics {/*** r 球的半径*/private float r;/*** <p>* Title: Ball* </p>* <p>* Description: 构造方法,根据球的半径构造球* </p>* * @param r*/public Ball(float r) {super();this.r = r;}/*** (非 Javadoc)* <p>* Title: caculateArea* </p>* <p>* Description:计算球的表面积* </p>* * @return 立体的表面积* @see com.<span style="font-family: Arial, Helvetica, sans-serif;">fuxuemingzhu</span><span style="font-family: Arial, Helvetica, sans-serif;">.solidgraphics.base.SolidGraphics#caculateArea()</span>
*/public float caculateArea() {float area = (float) (4 * Contants.PI * Math.pow(r, 2));return area;}/*** (非 Javadoc)* <p>* Title: caculateVolume* </p>* <p>* Description:计算球的体积* </p>* * @return 立体的体积* @see com.caifugui.solidgraphics.base.SolidGraphics#caculateVolume()*/public float caculateVolume() {float volume = (float) ((4f / 3f) * Contants.PI * Math.pow(r, 3));return volume;}/*** @return the r*/public float getR() {return r;}/*** @param r*            the r to set*/public void setR(float r) {this.r = r;}}

Cylinder.java

圆柱类

package com.fuxuemingzhu.solidgraphics.entity;import com.fuxuemingzhu.solidgraphics.base.SolidGraphics;
import com.fuxuemingzhu.solidgraphics.contants.Contants;/*** <p>* Title: Cylinder* </p>* <p>* Description:圆柱类* </p>* * @author fuxuemingzhu* * @email fuxuemingzhu@163.com* * @date 2014年10月28日 下午1:55:07*/
public class Cylinder implements SolidGraphics {/*** r 圆柱的半径*/private float r;/*** h 圆柱的高*/private float h;/*** <p>* Title: Cylinder* </p>* <p>* Description:构造方法,根据圆柱的半径和高构造圆柱* </p>* * @param r* @param h*/public Cylinder(float r, float h) {super();this.r = r;this.h = h;}/*** (非 Javadoc)* <p>* Title: caculateArea* </p>* <p>* Description:计算圆柱的表面积* </p>* * @return 立体的表面积* @see com.fuxuemingzhu.solidgraphics.base.SolidGraphics#caculateArea()*/public float caculateArea() {float area = (float) (Contants.PI * Math.pow(r, 2) * 2 + 2* Contants.PI * r * h);return area;}/*** (非 Javadoc)* <p>* Title: caculateVolume* </p>* <p>* Description:计算圆柱的体积* </p>* * @return 立体的体积* @see com.fuxuemingzhu.solidgraphics.base.SolidGraphics#caculateVolume()*/public float caculateVolume() {float volume = (float) (Contants.PI * Math.pow(r, 2) * h);return volume;}/*** @return the r*/public float getR() {return r;}/*** @param r*            the r to set*/public void setR(float r) {this.r = r;}/*** @return the h*/public float getH() {return h;}/*** @param h*            the h to set*/public void setH(float h) {this.h = h;}}

Tapered.java

圆锥类

package com.fuxuemingzhu.solidgraphics.entity;import com.fuxuemingzhu.solidgraphics.base.SolidGraphics;
import com.fuxuemingzhu.solidgraphics.contants.Contants;/*** <p>* Title: Tapered* </p>* <p>* Description:圆锥类* </p>* * @author fuxuemingzhu* * @email fuxuemingzhu@163.com* * @date 2014年10月28日 下午1:55:18*/
public class Tapered implements SolidGraphics {/*** r 圆锥的半径*/private float r;/*** h 圆锥的高*/private float h;/*** <p>* Title: Tapered* </p>* <p>* Description:构造方法,根据圆锥的半径和高构造圆锥* </p>* * @param r* @param h*/public Tapered(float r, float h) {super();this.r = r;this.h = h;}/*** (非 Javadoc)* <p>* Title: caculateArea* </p>* <p>* Description: 计算圆锥的表面积* </p>* * @return 立体的表面积* @see com.fuxuemingzhu.solidgraphics.base.SolidGraphics#caculateArea()*/public float caculateArea() {float area = (float) (0.5f * Math.sqrt(Math.pow(r, 2) + Math.pow(h, 2))* 2 * Contants.PI * r + Contants.PI * Math.pow(r, 2));return area;}/*** (非 Javadoc)* <p>* Title: caculateVolume* </p>* <p>* Description: 计算圆锥的体积* </p>* * @return 立体的体积* @see com.fuxuemingzhu.solidgraphics.base.SolidGraphics#caculateVolume()*/public float caculateVolume() {float volume = (float) ((1f / 3f) * Contants.PI * Math.pow(r, 2) * h);return volume;}/*** @return the r*/public float getR() {return r;}/*** @param r*            the r to set*/public void setR(float r) {this.r = r;}/*** @return the h*/public float getH() {return h;}/*** @param h*            the h to set*/public void setH(float h) {this.h = h;}}

Main.java

主类,展示各立体的表面积,体积等信息

package com.fuxuemingzhu.solidgraphics.main;import com.fuxuemingzhu.solidgraphics.entity.Ball;
import com.fuxuemingzhu.solidgraphics.entity.Cylinder;
import com.fuxuemingzhu.solidgraphics.entity.Tapered;/*** <p>* Title: Main* </p>* <p>* Description:主类,展示各立体的表面积,体积等信息* </p>* * @author fuxuemingzhu* * @email fuxuemingzhu@163.com* * @date 2014年10月28日 下午3:46:57*/
public class Main {/*** ball 声明一个球体*/private static Ball ball;/*** cylinder 声明一个圆柱体*/private static Cylinder cylinder;/*** tapered 声明一个圆锥体*/private static Tapered tapered;/*** <p>* Title: main* </p>* <p>* Description:main()方法,程序的入口* </p>* * @param args* */public static void main(String[] args) {// ///构造并展示球体showBall(8f);// //构造并展示圆柱体showCylinder(4f, 10f);// //构造并展示圆锥体showTapered(4f, 10f);}/*** <p>* Title: showBall* </p>* <p>* Description:构造并展示一个球体* </p>* * @param r* */private static void showBall(float r) {// //构造一个球体ball = new Ball(r);// //展示球体System.out.println("输入的球的半径是:" + ball.getR());System.out.println("此球的表面积是:" + ball.caculateArea());System.out.println("此球的体积是:" + ball.caculateVolume() + "\n");}/*** <p>* Title: showCylinder* </p>* <p>* Description:构造并展示一个圆柱体* </p>* * @param r* @param h* */private static void showCylinder(float r, float h) {// /构造一个圆柱体cylinder = new Cylinder(r, h);// /展示圆柱体System.out.println("输入的圆柱的底面圆半径是:" + cylinder.getR() + ",高为:"+ cylinder.getH());System.out.println("此圆柱的表面积是:" + cylinder.caculateArea());System.out.println("此圆柱的体积是:" + cylinder.caculateVolume() + "\n");}/*** <p>* Title: showTapered* </p>* <p>* Description:构造并展示一个圆锥体* </p>* * @param r* @param h* */private static void showTapered(float r, float h) {// ///构造一个圆锥体tapered = new Tapered(r, h);// /展示圆锥体System.out.println("输入的圆锥的底面圆半径是:" + tapered.getR() + ",高为:"+ tapered.getH());System.out.println("此圆锥的表面积是:" + tapered.caculateArea());System.out.println("此圆锥的体积是:" + tapered.caculateVolume() + "\n");}
}

附运行截图。

java源码——计算立体图形的表面积和体积相关推荐

  1. Java利用接口计算立体图形的表面积和体积

    利用接口计算立体图形的表面积和体积 /* 设计立体图形接口,包括计算表面积和体积的方法: 设计圆柱体类和圆锥体类,分别实现立体图形接口,计算表面积和体积. */ import java.util.Sc ...

  2. threejs 计算不规则体的表面积和体积

    获取geometry的所有faces顶点,根据顶点去计算表面积和体积 let Area = 0.0;let volumes = 0.0;// 计算体积和表面积let array = geometry. ...

  3. python计算长方体体积代码_编写程序,计算一个长方体的表面积和体积。

    展开全部 #include using namespace std; class Round { public: 5261void set_number(); void count_number(); ...

  4. java求长方体_Java练习 SDUT-3337_计算长方体、四棱锥的表面积和体积

    ###计算长方体.四棱锥的表面积和体积 Time Limit: 1000 ms Memory Limit: 65536 KiB ####Problem Description 计算如下立体图形的表面积 ...

  5. 计算长方体、四棱锥的表面积和体积(类)

    Problem Description 计算如下立体图形的表面积和体积. 从图中观察,可抽取其共同属性到父类Rect中:长度:l  宽度:h  高度:z 在父类Rect中,定义求底面周长的方法leng ...

  6. PTA 4 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)分数 20

    这是一道经典的"类与继承"的题型,对与小白来说very nice. 先看题: 计算如下立体图形的表面积和体积. 从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect ...

  7. 7-5 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)(Python实现)

    作者 周雪芹 单位 山东理工大学 计算如下立体图形的表面积和体积. 从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z. 编程要求: (1)在父类Re ...

  8. sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)

    计算如下立体图形的表面积和体积. 从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z. 编程要求: (1)在父类Rect中,定义求底面周长的方法len ...

  9. java长方体的父类_编写java程序,输入一个长方体的长、宽、高,求长方体的表面积和体积,并将结果显示...

    展开全部 1.长方体表面积公式 :62616964757a686964616fe78988e69d8331333431366338S = 2(ab + bc + ac); 2.长方体体积公式      ...

最新文章

  1. es搜索引擎架构_学弟想学搜索引擎,我把珍藏的京东架构师的ES笔记分享给了他...
  2. labview求n阶乘的和_LABVIEW求1到N所有数的阶乘之和
  3. 微信机、网络和java的相关知识点
  4. 关于m_pMainWnd = dlg的错误
  5. Apache Lucene与Lucene.Net——全文检索服务器
  6. python几多级证书_Openssl 生成多级证书
  7. oschina git服务, 如何生成并部署ssh key
  8. Fedora的systemctl命令详解 Fedora配置IP地址/DNS/Networking
  9. Jenkins学习总结(3)——Jenkins+Maven+Git搭建持续集成和自动化部署的
  10. Codeforces 1178
  11. LAMP网站平台搭建
  12. Android使用MediaRecorder和Camera实现视频录制及播放功能整理
  13. 【Henu ACM Round#18 F】Arthur and Walls
  14. paip.配置ef_unified_filter() failed ext_filter_module mod_ext_filter.so apache 错误解决
  15. php读取xml的值,PHP读取XML值的代码(推荐)
  16. 微信小程序提供 模板:template
  17. JAVA-时间日期格式转换
  18. ppt模板如何制作通用表格?
  19. 程序员前景一片灰暗?网友:不行找个班上吧
  20. centos7 文件系统修复

热门文章

  1. AD7606八通道AD采集模块测试
  2. nets_comment_class.py-网易单曲评论-music-163
  3. 手机显示未连接网络连接到服务器是怎么回事,苹果浏览器显示未连接互联网是什么回事...
  4. php的radio怎么设置默认是勾选的,php实现select、radio和checkbox默认选择的实例参考...
  5. 给客户一个“无法拒绝”的SaaS?——6年三个SaaS项目后的感触
  6. 涂涂乐的详细实现之一--画笔核心功能
  7. mmdetection2.24.1修改backbone(使用mmcls和timm已有模型)
  8. 学习笔记二:关于自激振荡
  9. Numpy计算三角函数
  10. NSG2 安装、运行备忘