Java上机实验报告(4)

实验 (4) 项目名称:子类与继承-求圆柱和圆锥

一、 实验报告内容一般包括以下几个内容:

  1. 实验项目名称 实验4 子类与继承-求圆柱和圆锥
  2. 实验目的和要求
    本实验的目的:
    (1)掌握(继承)类的声明;
    (2)掌握构造方法执行机理
    (3)掌握private、protected、public等修饰符;
    (4)掌握super的各种用法
    实验具体要求:
    定义一个圆类Circle,成员变量:半径;
    成员方法:构造方法、get和set半径的方法、计算面积和周长的方法。
    定义圆柱和圆锥类,定义相应的变量成员和成员方法。
    使用以上类编程,输出圆柱和圆锥面积和体积。
    假设圆的半径是3,圆柱和圆锥的底半径也是3,高是2。
    实验思路如下:
    请添加图片描述
  3. 实验原理
  4. 主要仪器设备
    (1)学生每人一台PC机;
    (2)互联网环境。

实验解答:
Circle.java

package data20240321;public class Circle {double radius;public Circle(){radius=1;}public double getArea(){return Math.PI*Math.pow(radius,2);}public double getAround(){return 2*radius*Math.PI;}public void setRadius(double radius){this.radius=radius;}public double getRadius(){return radius;}
}

CircleColumn.java

package data20240321;public class CircleColumn extends Circle{double height;public double getHeight(){return height;}public void setHeight(double height){this.height=height;}public double getColumnV(){return getArea()*height;}public double getColumnA(){return 2*getArea()+getAround()*height;}
}

CircleCone.java

package data20240321;public class CircleCone extends Circle{double height;public double getHeight(){return height;}public void setHeight(double height){this.height=height;}public double getConeV(){return getArea()*height/3.0;}public double getConeA(){return getArea()+Math.PI*radius*Math.sqrt(Math.pow(radius,2)+Math.pow(height,2));}
}

MainClass.java

package data20240321;public class MainClass {public static void main(String[] args) {CircleColumn circleColumn = new CircleColumn();CircleCone circleCone = new CircleCone();circleCone.setHeight(3);circleCone.setRadius(1);circleColumn.setHeight(1);circleColumn.setRadius(1);System.out.printf("圆柱的体积为%.2f,圆柱的面积为%.2f\n",circleColumn.getColumnV(),circleColumn.getColumnA());System.out.printf("圆锥的体积为%.2f,圆锥的面积为%.2f\n",circleCone.getConeV(),circleCone.getConeA());}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/776172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 定时器详解

定时器 ​ JavaScript 在浏览器中是单线程执行的,但允许使用定时器指定在某个时间之后或每隔一段时间就执行相应的代码。setTimeout() 用于指定在一定时间后执行某些代码,而 setInterval() 用于指定每隔一段时间执行某些代码。 setTimeout() 方法 ​ …

【前端学习——js篇】5.事件循环

详细:https://github.com/febobo/web-interview 5.事件循环 js是一种单线程语言,同一时间内只能做一件事情,为了避免单线程阻塞的方法就是事件循环。 在javascript当中,所有的任务都可以分为: 同步任务:按…

Windows10 Version22h2 补丁kb5034441更新失败

By wdhuag 20240328 参考: Windows10安装KB5034441更新报错0x80070643_2024-01 适用于 windows 10 version 22h2 安全更新,适合基于 x64 -CSDN博客 windows10(KB5034441)更新失败报错 0x80070643解决方法_kb5034441更新失败-CSDN博客 如何修复 Windo…

07|Java IO流与网络编程入门教程:通俗易懂,实例丰富

一、IO流概念与应用 什么是IO流? 想象一下水管流水,水从一端流入流出的过程就像是数据在程序中的传输。在Java世界里,IO流就是这样一个抽象概念,它是数据在不同存储介质或网络之间传输的一种方式。简单来说,如果你把数据看作水流,那么IO流就是承载这个水流的管道,它可以…

01.ArcEngine中IField的属性详细描述

目录 0.代码样例 1. AliasName 2.CheckValue 3.DefaultValue 4.Domain 5.DomainFixed 6.Editable 7.GeometryDef 8.IsNullable 9.Length 10.Name 11.Precision 12.Required 13.Scale 14.Type 15.VarType 0.代码样例 IFields fields featureclass…

双通道内存@DDR5多通道内存

文章目录 多通道内存DDR4及以前的内存的双通道DDR5往后的双通道和多通道半位宽4通道组合 其他组合测试 DDR5介绍概览重要Features特点 总结 多通道内存 DDR4及以前的内存的双通道 双通道内存是一种内存架构设计,通过在主板上配置两个或多个独立且同时工作的内存控制…

管理阿里云服务器ECS -- 网站选型和搭建

小云:我已经学会了如何登录云服务器ECS了,但是要如何搭建网站呢? 老王:目前有很多的个人网站系统软件,其中 WordPress 是使用非常广泛的一款,而且也可以把 WordPress 当作一个内容管理系统(CMS…

使用yolov9来实现人体姿态识别估计(定位图像或视频中人体的关键部位)教程+代码

yolov9人体姿态识别: 相较于之前的YOLO版本,YOLOv9可能会进一步提升处理速度和精度,特别是在姿态估计场景中,通过改进网络结构、利用更高效的特征提取器以及优化损失函数等手段来提升对复杂人体姿态变化的捕捉能力。由于YOLOv9的…

架构师之路--docker命令实践整理

安装docker sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum install -y yum-utils sudo yum-config-manager --add-repo http://mirrors.aliyun.com/…

开源博客项目Blog .NET Core源码学习(12:App.Application项目结构分析)

开源博客项目Blog的App.Application项目主要定义网站页面使用的数据类,同时定义各类数据的增删改查操作接口和实现类。App.Application项目未安装Nuget包,主要引用App.Core项目的类型。   App.Application项目的顶层文件夹如下图所示,下面逐…

巨控GRM110系列:短距离内的无线通讯模块

标签: #巨控GRM110 #无线通讯 #ROLA技术 #工业自动化 #远程数据采集 在工业自动化和智能制造的领域中,数据的准确传输是实现高效生产的关键。随着技术的不断进步,无线通讯技术已成为破解远距离数据传输难题的利器。今天,我们将聚焦于一款革命…

U盘未格式化?数据恢复大揭秘!

在日常办公和生活中,U盘已成为我们不可或缺的数据存储工具。然而,有时我们会遇到这样一个令人头疼的问题:原本正常使用的U盘,突然提示“未格式化”,里面的文件似乎都消失不见了。面对这种情况,很多人会感到…

35岁,程序员职业生涯的新起点

近年来,关于程序员职业生涯的讨论日益热烈,而“35岁被认为是程序员职业生涯的分水岭”更是成为了一个备受关注的话题。在这篇文章中,我们将探讨这一说法的合理性,并从事实和数据的角度来分析,为什么35岁并非程序员职业…

线程池-1:线程池是如何复用线程的?

这段代码实现了一个简单的线程池 SimpleThreadPool。主要包括以下几个关键部分: 构造函数:初始化最大线程数 maxPoolSize、任务队列 taskQueue、当前线程数 currentPoolSize,以及锁 lock 和条件 taskAvailable。 submit(Runnable task) 方法…

PSINS初学指导

2024-3-27/Evand/Ver1 因为惯导解算设计的数学公式很多,在编程时如果一步一步自己编,非常耗时耗力,所以在进行上层设计时,借助工具箱完成底层的复杂计算是很有必要的。另一方面,也能利用工具箱进行惯导解算方面的学习…

FPGA时钟资源详解(2)——Clock-Capable Inputs

FPGA时钟系列文章总览:FPGA原理与结构(14)——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564 目录 一、概述 1.1 为什么使用CC 1.2 如何使用CC 二、Clock-Capable Inputs 2.1 SRCC 2.2 MRCC 2.3 其他用途 2.3.1…

WIFI驱动移植实验:WIFI驱动加载测试

一. 简介 前面文章学习了向kernel内核源码中添加 trl8188驱动代码,配置内核以支持 WIFI设备,使能WIFI功能。文章地址如下: WIFI驱动移植实验:删除Linux内核自带的 RTL8192CU 驱动-CSDN博客 WIFI驱动移植实验:将 rtl…

LeetCode 135. 分发糖果

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的…

C语言中连字符“#”的使用,输出固件的编译时间和版本号

首先我们使用C语言宏定义和“#”来组合字符串 #define MAINVER 2#define SUBVER1 0#define SUBVER2 1#define STR(s) #s#define VERSION(a,b,c) "System V" STR(a) "." STR(b) "." STR(c) " "__DATE__ 然后我们在全局变量中定义一…

服务器硬件

目录 服务器CPU服务器GPU服务器内存服务器硬盘服务器主板散热系统(服务器风扇)服务器电源(电影供应器)其他网络适配器扩展卡 服务器CPU 基于架构的分类:根据CPU的架构不同,可以分为x86架构(如I…