java源码——计算立体图形的表面积和体积
计算球,圆柱,圆锥的表面积和体积。
利用接口实现。
上代码。
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源码——计算立体图形的表面积和体积相关推荐
- Java利用接口计算立体图形的表面积和体积
利用接口计算立体图形的表面积和体积 /* 设计立体图形接口,包括计算表面积和体积的方法: 设计圆柱体类和圆锥体类,分别实现立体图形接口,计算表面积和体积. */ import java.util.Sc ...
- threejs 计算不规则体的表面积和体积
获取geometry的所有faces顶点,根据顶点去计算表面积和体积 let Area = 0.0;let volumes = 0.0;// 计算体积和表面积let array = geometry. ...
- python计算长方体体积代码_编写程序,计算一个长方体的表面积和体积。
展开全部 #include using namespace std; class Round { public: 5261void set_number(); void count_number(); ...
- java求长方体_Java练习 SDUT-3337_计算长方体、四棱锥的表面积和体积
###计算长方体.四棱锥的表面积和体积 Time Limit: 1000 ms Memory Limit: 65536 KiB ####Problem Description 计算如下立体图形的表面积 ...
- 计算长方体、四棱锥的表面积和体积(类)
Problem Description 计算如下立体图形的表面积和体积. 从图中观察,可抽取其共同属性到父类Rect中:长度:l 宽度:h 高度:z 在父类Rect中,定义求底面周长的方法leng ...
- PTA 4 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)分数 20
这是一道经典的"类与继承"的题型,对与小白来说very nice. 先看题: 计算如下立体图形的表面积和体积. 从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect ...
- 7-5 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)(Python实现)
作者 周雪芹 单位 山东理工大学 计算如下立体图形的表面积和体积. 从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z. 编程要求: (1)在父类Re ...
- sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)
计算如下立体图形的表面积和体积. 从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z. 编程要求: (1)在父类Rect中,定义求底面周长的方法len ...
- java长方体的父类_编写java程序,输入一个长方体的长、宽、高,求长方体的表面积和体积,并将结果显示...
展开全部 1.长方体表面积公式 :62616964757a686964616fe78988e69d8331333431366338S = 2(ab + bc + ac); 2.长方体体积公式 ...
最新文章
- es搜索引擎架构_学弟想学搜索引擎,我把珍藏的京东架构师的ES笔记分享给了他...
- labview求n阶乘的和_LABVIEW求1到N所有数的阶乘之和
- 微信机、网络和java的相关知识点
- 关于m_pMainWnd = dlg的错误
- Apache Lucene与Lucene.Net——全文检索服务器
- python几多级证书_Openssl 生成多级证书
- oschina git服务, 如何生成并部署ssh key
- Fedora的systemctl命令详解 Fedora配置IP地址/DNS/Networking
- Jenkins学习总结(3)——Jenkins+Maven+Git搭建持续集成和自动化部署的
- Codeforces 1178
- LAMP网站平台搭建
- Android使用MediaRecorder和Camera实现视频录制及播放功能整理
- 【Henu ACM Round#18 F】Arthur and Walls
- paip.配置ef_unified_filter() failed ext_filter_module mod_ext_filter.so apache 错误解决
- php读取xml的值,PHP读取XML值的代码(推荐)
- 微信小程序提供 模板:template
- JAVA-时间日期格式转换
- ppt模板如何制作通用表格?
- 程序员前景一片灰暗?网友:不行找个班上吧
- centos7 文件系统修复
热门文章
- AD7606八通道AD采集模块测试
- nets_comment_class.py-网易单曲评论-music-163
- 手机显示未连接网络连接到服务器是怎么回事,苹果浏览器显示未连接互联网是什么回事...
- php的radio怎么设置默认是勾选的,php实现select、radio和checkbox默认选择的实例参考...
- 给客户一个“无法拒绝”的SaaS?——6年三个SaaS项目后的感触
- 涂涂乐的详细实现之一--画笔核心功能
- mmdetection2.24.1修改backbone(使用mmcls和timm已有模型)
- 学习笔记二:关于自激振荡
- Numpy计算三角函数
- NSG2 安装、运行备忘