(备注:本人是一个小小的知识搬运工,内容包含个人见解,如有错误请多多指教!)

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=​3​​1​​Sh,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 分)相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 编写程序计算长方体的体积python_编写程序,计算圆柱体、球体、正方体和长方体的表面积和体积...

    编写程序,计算圆柱体.球体.正方体和长方体的表面积和体积. #include "" #include"" class Shape { protected: in ...

  7. 6-2 计算长方体的表面积和体积

    请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...

  8. 6-4 计算长方体的表面积和体积 (10分) java pta

    请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...

  9. PTA 6-2 计算长方体的表面积和体积

    请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...

  10. 求表面积和体积。 读入5个整数a, b, c, d 和 e,计算物体的表面积和体积。你可以想像该物体是一个长宽高为a, b, c 的长方体,每中央都是凹进去的,而凹进去的深度为 d,沒凹进

    题目描述: 读入5个整数a, b, c, d 和 e,计算物体的表面积和体积.你可以想像该物体是一个长宽高为a, b, c 的长方体,每一面中央都是凹进去的,而凹进去的深度为 d,沒凹进去的边框宽度 ...

最新文章

  1. iOS下JS与OC互相调用(二)--WKWebView 拦截URL
  2. AI独角兽第四范式冲刺港交所IPO!集齐国有五大行入股,刚获宁德时代制造大单...
  3. git 挽救忘记提交到哪个分支的代码
  4. linux命令gcc常用选项
  5. Android中使用getDrawable时提示:Call requires API level 21(current min is 15)
  6. java让日志生成日期文件夹_SpringBoot按日期和文件大小生成日志文件到对应日期文件夹...
  7. Hive与数据库的异同
  8. linux 前端环境搭建
  9. 利用tomcat配置网站
  10. 20190930每日一句
  11. 吃欢天面皮的26种吃法,中国人的福音!
  12. 问题 H: LZY碎大石
  13. 几种x-ray产生的原理
  14. java方法和数组的概念及法
  15. 随手记录第二话 -- 高并发情况下秒杀、抢红包都有哪些实现方式?
  16. SourceTree + Gerrit
  17. 企业如何做好线上学习平台运营?
  18. 从科学的开放精神来看开源
  19. 【源码】FieldTrip:MEG和EEG分析的MATLAB工具箱
  20. Xilinx AC701评估板——PLL配置实例

热门文章

  1. 浏览器连不上 Flink WebUI 8081 端口
  2. PS白底证件照换蓝底背景,头发边缘精细处理
  3. 2018电影票房分析-谁才是票房之王
  4. 空调库存创新高,格力计划挖掘三四五线城市
  5. 判断43是不是质数用c语言,1是素数吗(c语言判断一个数为素数)
  6. 88家上市公司区块链分布图:七成拓展落地应用 互联网公司善于底层基础
  7. php mysql begin_PHP mysqli_begin_transaction() 函数用法及示例
  8. 4芯网线和8芯网线的网速有什么区别
  9. .NET Core Serilog 组件
  10. 邮箱发送html邮件,遇到的问题(如阿里邮箱如何发送html邮件、qq向阿里发送邮件样式丢失等)解决方法