深圳大学-Java程序设计-选实验2 类的初级应用

news2024/12/26 21:29:34

实验目的与要求

    实验目的:初步掌握面向对象编程中类的编写。

实验要求:

(1).运行第4章课件中第4页、第24页、第32页和第34页中的四个程序,并对每一行语句加上注释。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)

(2).设计并测试一个长方体类Box。(1)数据成员包括length、width和height,分别表示长方体的长、宽和高;(2)定义setInfo(int,int,int)方法设置这3个数据成员的值;(3)定义volume()方法求长方体的体积;(4)定义area()方法求长方体的表面积;(5)定义toString()方法把长方体的长、宽、高以及长方体的体积和表面积转化为字符串并返回。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)

(3).参照题(2)设计并测试一个圆柱体类Cylindrical。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)

(4).设计并测试一个研究生类PostGraduateStudent。(1)数据成员包括ID(学号)、name(姓名)以及3门课程math、programming、english;(2)定义comSum()、comAvg()、comMax()计算3门课程的总分、平均分和最高分。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)

注意:发现抄袭(包括复制&粘贴整句话、整张图),抄袭者和被抄袭者成绩记零分

(1).运行第4章课件中第4页、第24页、第32页和第34页中的四个程序,并对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(40分)

第4页中的程序:

程序截图:

运行结果截图:

定义了一个名为Circle的类,Circle类有一个属性radius,表示圆的半径,和一个方法getArea,表示计算圆的面积。

在main方法中,首先创建了一个Circle类型的对象circle,然后给circle的radius属性赋值为1,表示圆的半径为1。接着调用circle的getArea方法,得到圆的面积,并将其赋值给一个double类型的变量area。最后打印area的值,显示圆的面积。

第24页中的程序:

程序截图:

运行结果截图:

首先定义了一个名为Ladder的类。Ladder类表示一个梯形,它有三个属性above,bottom,height,分别表示梯形的上底,下底和高。

Ladder类有一个无参构造方法和一个有参构造方法,用来创建Ladder对象,并给属性赋值。Ladder类还有三个方法,用来修改属性的值。Ladder类有一个computeArea方法,用来计算梯形的面积。

   在main方法中,首先声明了两个double类型的变量area1和area2,用来存储两个梯形的面积。然后声明了两个Ladder类型的变量ladderOne和ladderTwo,用来引用两个Ladder对象。接着用new关键字创建了两个Ladder对象,并分别赋值给ladderOne和ladderTwo。其中ladderOne使用无参构造方法创建,然后调用set方法给属性赋值;ladderTwo使用有参构造方法创建,并直接给属性赋值。接下来调用ladderOne和ladderTwo的computeArea方法,得到两个梯形的面积,并分别赋值给area1和area2。最后使用System.out.println方法打印area1和area2的值,显示两个梯形的面积。

第32页中的程序:

程序截图:

运行截图:

首先定义一个叫Ladder的类,它有三个属性,分别表示梯子的上端、高度和低端。

然后再定义了四个方法:setAbovesetBottomgetAbovegetBottom分别来设置梯子上端、设置梯子的底端、返回梯子上端、返回梯子底端。

最后在main 方法中给Ladder类的静态变量bottom赋值,并创建两个Ladder对象,并调用方法处理它们,最后实现打印。

第34页中的程序:

程序截图:

运行结果截图:

首先定义一个final类型的实例变量MAX,赋值为100,表示这个变量不能被修改,再定义一个final类型的静态变量MIN,赋值为20,表示这个变量也不能被修改,并且属于类而不是对象

然后在main中,先打印Tom类的静态变量MIN的值,因为不能直接访问Tom类的实例变量MAX,所以将报错代码注释掉。接着创建一个Tom对象,并用cat引用它,打印cat对象的实例变量MAX的值,输出100

  1. .设计并测试一个长方体类Box。(1)数据成员包括length、width和height,分别表示长方体的长、宽和高;(2)定义setInfo(int,int,int)方法设置这3个数据成员的值;(3)定义volume()方法求长方体的体积;(4)定义area()方法求长方体的表面积;(5)定义toString()方法把长方体的长、宽、高以及长方体的体积和表面积转化为字符串并返回。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)

程序截图:

运行结果截图:

首先导入java.util包中的Scanner类,用来接收用户输入。

然后定义一个名为Box的类,分别用三个实例变量,表示盒子的长度、宽度、高度

定义setInfo方法,用来设置盒子的尺寸,再分别定义volume、area、toString方法,用来计算体积、计算表面积、返回盒子的信息。

在main 中声明一个Box类型的变量box1,并创建一个Box对象,并用box1引用它。创建一个Scanner对象,并用scan引用它,用来接收用户输入。 调用scan对象的nextInt方法,读取用户输入的三个整数,并分别赋值给a、b、c

调用box1对象的setInfo方法,传入a,b,c三个参数,设置盒子的尺寸。分别调用box1对象的volume、area、toString方法,计算盒子的体积,并赋值给对应变量,最后实现依次打印。

(3).参照题(2)设计并测试一个圆柱体类Cylindrical。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)

程序截图:

运行截图:

首先导入java.util包中的Scanner类,用来接收用户输入。

然后定义一个名为Cylindrical的类,分别用两个个实例变量,表示圆柱体的半径、高度。定义一个setInfo方法,用来设置尺寸,定义一个volume方法,用来计算体积,定义一个area方法,用来计算表面积,定义一个toString方法,用来返回信息

在main 中声明一个Cylindrical类型的变量cy1,并创建一个Cylindrical对象,并用cy1引用它。创建一个Scanner对象,并用scan引用它,用来接收用户输入。 调用scan对象的nextInt方法,读取用户输入的整数,并赋值给a、b。调用cy1对象的setInfo方法,传入a,b,c三个参数,设置盒子的尺寸。调用volume、area、toString方法,计算圆柱体的体积、表面积以及所有信息,并依次完成打印。

(4).设计并测试一个研究生类PostGraduateStudent。(1)数据成员包括ID(学号)、name(姓名)以及3门课程math、programming、english;(2)定义comSum()、comAvg()、comMax()计算3门课程的总分、平均分和最高分。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)

程序截图:

运行结果截图:

首先导入java.util包中的Scanner类,用来接收用户输入。然后定义一个名为PostGraduteStudent的类,定义数据成员,并定义一个方法设置数据,再分别定义三个方法来算三门课程之和、平均值、最大值

 接着在 main中声明一个PostGraduteStudent类型的变量p1并创建一个PostGraduteStudent对象,用 p1引用它。利用Scanner接收用户输入的信息, 调用方法,将信息传入,完成设置。

  最后分别调用p1对象的comSum comAvg comMax方法,并分别赋值给对应变量。完成打印。

      

++++++++++++++++++++++++++++++++++++++++++++++++++++++

其他(例如感想、建议等等)。

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

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

相关文章

zerotier安装配置

目录 1.简介1.1.基本概念1.1.1.节点1.它可以是:2.每个节点都有以下特征:3.节点的主要功能包括: 1.1.2.根服务器1.定义:2.功能:3.特点:4.角色:5.安全性:6.与普通节点的区别:7.自托管选项: 1.1.3.…

51单片机的智能电饭煲【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温度传感器继电器按键、LED等模块构成。适用于智能电饭锅等相似项目。 可实现功能: 1、LCD1602实时显示温度、运行模式、煮饭等模式的计时时间 2、首先选择电饭锅的模式,如煮饭、煮粥、蒸、煲汤&#…

React入门 9:React Router

1. 什么是路由 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。 以上是中文维基百科对路由的解释。通俗的来讲,把一个地方的信息传输到他想去的目的地的过程,就叫路由。 2. 用代码解释路由 需求&#xff1a…

【Spring】获取Cookie和Session(@CookieValue()和@SessionAttribute())

获取 Cookie 传统获取 Cookie 这是没有 Spring 的时候,用 Servlet 来获取(获取所有的 Cookie) Spring MVC 是基于 Servlet API 构建的原始 Web 框架,也是在 Servlet 的基础上实现的 RequestMapping("/getcookie") …

CubeMX电机驱动以及编码器计数配置

一、选型 电机MG310: 电机驱动板TB6612: STM32F407VETx: 二、CubeMX配置 配置外部时钟: GPIO口配置: 需要四个I/O输出口: PWM口配置: 这里使用的是定时器TIM1,设置预分频器71&…

使用mnist数据集和LeakyReLU高级激活函数训练神经网络示例代码

一、概述 神经网络中的激活函数是用于增加网络的非线性特性的函数,没有激活函数,神经网络将仅仅是一个线性模型,无法解决复杂的非线性问题。激活函数的选择对神经网络的性能有很大的影响。 基础激活函数是神经网络中使用较早、较为简单的激…

AOA定位技术在智慧停车场中的应用

‌AOA定位技术是一种基于信号到达角度的定位方法,通过测量无线信号到达接收器的入射角度来实现精确定位。‌ AOA定位技术的核心原理是利用接收器内的多个天线阵列来测量信号的相位差,从而计算出信号的到达角度,最终确定位置‌。 在智慧停…

SpringBoot在高校学科竞赛平台中的应用与优化

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

数据结构之旅(顺序表)

前言: Hello,各位小伙伴们我们在过去的60天里学完了C语言基本语法,由于小编在准备数学竞赛,最近没有给大家更新,并且没有及时回复大家的私信,小编在这里和大家说一声对不起!,小编这几天会及时给大家更新初阶数据结构的内容,然后我们来学习今天的内容吧! 一. 顺序表的概念和结…

鸿蒙开发案例:通过三杯猜球学习显示动画

【引言】 “三杯猜球”是一个经典的益智游戏,通常由一名表演者和多名参与者共同完成。表演者会将一个小球放在一个杯子下面,然后将三个杯子快速地交换位置,参与者则需要猜出最终哪个杯子下面有小球。本文将介绍如何使用HarmonyOS NEXT技术&a…

加速AI+医疗普惠:AI如何让乳腺癌筛查走进大山?

人工智能与超声技术的结合正在医疗领域引发一场新变革。 近日,贵州省铜仁市石阡县妇幼保健院与广州尚医网信息技术有限公司(以下简称“尚医云”)联合组织了一场“AI点亮女性健康未来”免费乳腺癌筛查活动,目前已为当地1,500名适龄…

物联网:一种有能力重塑世界的技术

物联网(IoT)近年来对我们的日常生活产生了如此积极的影响,以至于即使是不懂技术的人也开始相信它所带来的便利以及敏锐的洞察力。 物联网是一场数字技术革命,其意义甚至比工业革命更为重大。物联网是仍处于起步阶段的第四次工业革…

重学SpringBoot3-安装Spring Boot CLI

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-安装Spring Boot CLI 1. 什么是 Spring Boot CLI?2. Spring Boot CLI 的安装2.1. 通过 SDKMAN! 安装2.2. 通过 Homebrew 安装(适…

React Query 和 React Context

React Query最佳特性之一是你可以在组件树中的任何位置使用查询&#xff1a;你的 <ProductTable> 组件可以在其需要的地方自带数据获取&#xff1a; function ProductTable() {const productQuery useProductQuery()if (productQuery.data) {return <table>...<…

AI跟踪报道第60期-新加坡内哥谈技术-本周AI新闻: Tesla展示Robotaxi和AI在企业级运用的推进

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

前端开发笔记-- 黑马程序员4

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 css 三角写法用户界面鼠标样式取消表单轮廓vertical-align文本溢出 html5 新标签多媒体标签视频标签![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d85d…

Linux升级openssl版本

Linux升级openssl版本 服务器编译依赖库检查 # yum -y install gcc gcc-c make libtool zlib zlib-devel版本检测 # openssl version OpenSSL 1.0.1e-fips 11 Feb 2013 # ssh -V OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013下载openssl 地址&#xff1a;https://www.o…

Android中的内容提供者

目录 1.创建内容提供者 1--手动创建一个Android应用程序 2--创建自定义的内容提供者 2.访问其他应用程序 1. 解析URI 2. 查询数据 3. 遍历查询结果 3)案例:读取手机通信录 1.声明权限 2.activity_main.xml文件内容 3.my_phone_list.xml文件内容 4.定义PhoneInfo实体 5.定义MyPh…

西门子S7-200 SMART选型指南之高级功能

介绍了S7-200 SMART控制器的高级功能。用户可以了解到控制器所支持的通信功能、运动控制功能、PID功能和高速计数器能力。这使用户能够评估控制器是否满足其应用的功能要求。 S7-200 SMART 功能 S7-200smart传承了S7-200 系列CPU经典编程理念&#xff0c;可以实现基本编程及高…

CISSP官方模拟测试题

源于CISSP官方习题集最新第4版第9章&#xff08;ISC2 CISSP Certified Information Systems Security Professional Official Practice Tests Fourth Edition, Chapter 9: Practice Test 1&#xff09;。 中英文对照&#xff0c;限时150分钟考试&#xff0c;顺序作答不能回退&…