7-2 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承) (10 分)
(备注:本人是一个小小的知识搬运工,内容包含个人见解,如有错误请多多指教!)
7-2 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承) (10 分)
计算如下立体图形的表面积和体积。
从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z。
编程要求:
(1)在父类Rect中,定义求底面周长的方法length( )和底面积的方法area( )。
(2)定义父类Rect的子类立方体类Cubic,计算立方体的表面积和体积。其中表面积area( )重写父类的方法。
(3)定义父类Rect的子类四棱锥类Pyramid,计算四棱锥的表面积和体积。其中表面积area( )重写父类的方法。
(4)在主程序中,输入立体图形的长(l)、宽(h)、高(z)数据,分别输出长方体的表面积、体积、四棱锥的表面积和体积。
提示:
(1)四棱锥体积公式:V=31Sh,S——底面积 h——高
(2)在Java中,利用Math.sqrt(a)方法可以求得a的平方根(方法的参数及返回结果均为double数据类型)
输入格式:
输入多行数值型数据(double);
每行三个数值,分别表示l、h、z,数值之间用空格分隔。
若输入数据中有0或负数,则不表示任何图形,表面积和体积均为0。
输出格式:
行数与输入相对应,数值为长方体表面积 长方体体积 四棱锥表面积 四棱锥体积(中间有一个空格作为间隔,数值保留两位小数)。
源代码:
import java.util.Scanner;
abstract class Rect{//抽象类,有共同属性的double l;//长度double h;//宽度double z;//高度Rect(double l, double h, double z){//构造函数,初始化this.l = l;this.h = h;this.z = z;if(l <= 0 || h <= 0 || z <= 0){//若其中一个为0,其余都为0this.h = this.l = this.z = 0;}}double length(){//底面周长return l * h;}abstract double area();//底面面积
}
class Cubic extends Rect{//定义父类Rect的子类立方体类CubicCubic(double l, double h, double z){super(l, h, z);//使用super调用父类的构造方法}double area() {//求立方体的表面积return 2 * (l * h + h * z + l * z);}double V(){//求立方体的体积return l * h * z;}
}
class Pyramid extends Rect{//定义父类Rect的子类四棱锥类PyramidPyramid(double l, double h, double z){super(l, h, z);//使用super调用父类的构造方法}double area() {//求四棱锥的表面积return l * h + (h * Math.sqrt((l / 2) * (l / 2) + z * z)) + (l * Math.sqrt((h / 2) * (h / 2) + z * z));}double V(){//求四棱锥的体积return l * h * z / 3;}
}
public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);//输入类while(sc.hasNext()) {//可以无限输入double l = sc.nextDouble();//分布输入长度,宽度,高度double h = sc.nextDouble();double z = sc.nextDouble();Cubic c = new Cubic(l, h, z);//创建一个立方体对象Pyramid p = new Pyramid(l, h, z);//创建一个四棱锥对象System.out.printf("%.2f %.2f %.2f %.2f\n", c.area(), c.V(), p.area(), p.V());}}
}
结果:
提交结果:
7-2 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承) (10 分)相关推荐
- 计算长方体、四棱锥的表面积和体积(类)
Problem Description 计算如下立体图形的表面积和体积. 从图中观察,可抽取其共同属性到父类Rect中:长度:l 宽度:h 高度:z 在父类Rect中,定义求底面周长的方法leng ...
- java求长方体_Java练习 SDUT-3337_计算长方体、四棱锥的表面积和体积
###计算长方体.四棱锥的表面积和体积 Time Limit: 1000 ms Memory Limit: 65536 KiB ####Problem Description 计算如下立体图形的表面积 ...
- 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 ...
- 编写程序计算长方体的体积python_编写程序,计算圆柱体、球体、正方体和长方体的表面积和体积...
编写程序,计算圆柱体.球体.正方体和长方体的表面积和体积. #include "" #include"" class Shape { protected: in ...
- 6-2 计算长方体的表面积和体积
请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...
- 6-4 计算长方体的表面积和体积 (10分) java pta
请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...
- PTA 6-2 计算长方体的表面积和体积
请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...
- 求表面积和体积。 读入5个整数a, b, c, d 和 e,计算物体的表面积和体积。你可以想像该物体是一个长宽高为a, b, c 的长方体,每中央都是凹进去的,而凹进去的深度为 d,沒凹进
题目描述: 读入5个整数a, b, c, d 和 e,计算物体的表面积和体积.你可以想像该物体是一个长宽高为a, b, c 的长方体,每一面中央都是凹进去的,而凹进去的深度为 d,沒凹进去的边框宽度 ...
最新文章
- iOS下JS与OC互相调用(二)--WKWebView 拦截URL
- AI独角兽第四范式冲刺港交所IPO!集齐国有五大行入股,刚获宁德时代制造大单...
- git 挽救忘记提交到哪个分支的代码
- linux命令gcc常用选项
- Android中使用getDrawable时提示:Call requires API level 21(current min is 15)
- java让日志生成日期文件夹_SpringBoot按日期和文件大小生成日志文件到对应日期文件夹...
- Hive与数据库的异同
- linux 前端环境搭建
- 利用tomcat配置网站
- 20190930每日一句
- 吃欢天面皮的26种吃法,中国人的福音!
- 问题 H: LZY碎大石
- 几种x-ray产生的原理
- java方法和数组的概念及法
- 随手记录第二话 -- 高并发情况下秒杀、抢红包都有哪些实现方式?
- SourceTree + Gerrit
- 企业如何做好线上学习平台运营?
- 从科学的开放精神来看开源
- 【源码】FieldTrip:MEG和EEG分析的MATLAB工具箱
- Xilinx AC701评估板——PLL配置实例
热门文章
- 浏览器连不上 Flink WebUI 8081 端口
- PS白底证件照换蓝底背景,头发边缘精细处理
- 2018电影票房分析-谁才是票房之王
- 空调库存创新高,格力计划挖掘三四五线城市
- 判断43是不是质数用c语言,1是素数吗(c语言判断一个数为素数)
- 88家上市公司区块链分布图:七成拓展落地应用 互联网公司善于底层基础
- php mysql begin_PHP mysqli_begin_transaction() 函数用法及示例
- 4芯网线和8芯网线的网速有什么区别
- .NET Core Serilog 组件
- 邮箱发送html邮件,遇到的问题(如阿里邮箱如何发送html邮件、qq向阿里发送邮件样式丢失等)解决方法